watchOS에서 Xamarin 알림watchOS Notifications in Xamarin

포함 된 iOS 앱을 지 원하는 경우 watch 앱에서 알림을 받을 수 있습니다.Watch apps can receive notifications if the containing iOS app supports them. 하지만 하지 있도록 기본 제공 알림 처리 방법이 필요 아래에 설명 된 추가 알림 지원을 추가 하려면 알림 동작을 사용자 지정 하려는 경우 모양 계속 읽어 보십시오.There is built-in notification handling so you do not need to add the additional notification support described below, however if you wish to customize notification behavior and appearance then read on.

참조 된 iOS 알림 알림 지원을 iOS 앱 솔루션에 추가 하는 방법은 문서.Refer to the iOS Notifications doc for more information on adding notification support to the iOS app in your solution.

알림 컨트롤러 만들기Creating Notification Controllers

알림 컨트롤러는 스토리 보드 segue 이러한 트리거는 특수 한 종류의에 있습니다.On the storyboard notifications controllers have a special type of segue triggering them. 새 끌어 오면 알림 인터페이스 컨트롤러 스토리 보드에 자동으로 더 segue 연결:When you drag a new Notification Interface Controller onto a storyboard it will automatically have a segue attached:

알림을 segue 경우을 선택 합니다. 해당 속성을 편집할 수 있습니다.When the notification segue is selected you can edit its properties:

컨트롤러를 정의한 후는 WatchKitCatalog에서이 예제와 같이 보일 수 있습니다.After you have customized the controller it may look like this example from the WatchKitCatalog:

알림의 다음과 같은 두 종류가 있습니다.There are two types of notification:

  • 짧은 모양을 -시스템에 의해 정의 되는 스크롤할 수 없는 정적 보기입니다.Short-look - non-scrollable static view defined by the system.

  • 장기 모양을 스크롤할 수-사용자가 정의한 사용자 지정 가능한 보기!Long-look - scrollable, customizable view defined by you! 간단 하 고 정적 버전 및 더 복잡 한 동적 버전을 지정할 수 있습니다.A simpler, static version and a more complex dynamic version can be specified.

짧은 표시 알림 컨트롤러Short-Look Notification Controller

앱 아이콘만, 앱 이름 및 알림 제목 문자열의 짧은 모양을 UI 구성 됩니다.The short-look UI consists of just the app icon, app name and the notification title string.

사용자는 알림을 무시 하지 않으면, 시스템 자세한 정보를 제공 하는 장기 모양의 알림을 자동으로 전환 합니다.If the user does not ignore the notification, the system will automatically switch to a long-look notification that provides more information.

알림 컨트롤러 장기-확인Long-Look Notification Controller

OS를 다양 한 요인 기준으로 정적 또는 동적 보기를 표시할지 여부를 결정 합니다.The OS decides whether to display the static or dynamic view based on a number of factors. 정적 인터페이스를 제공 하며, 필요에 따라 알림에 대 한 동적 인터페이스를 포함 합니다.You must provide a static interface, and can optionally also include a dynamic interface for notifications.

정적Static

정적 뷰는 간단 하 고 신속 하 게 표시 해야 합니다.The static view should be simple and quick to display.

동적Dynamic

동적 뷰는 더 많은 데이터를 표시 하 고 더 많은 대화형 기능을 제공할 수 있습니다.The dynamic view can display more data and provide more interactivity.

알림 생성Generating Notifications

원격 서버에서 알림을 가져올 수 있습니다 (Apple 푸시 알림 서비스, 또는 APNS) 또는 iOS 앱에서 로컬로 생성 될 수 있습니다.Notifications can come from a remote server (Apple Push Notifications Service, or APNS) or can be generated locally in the iOS app.

참조 된 iOS 알림 연습 로컬 알림을 생성 하는 방법의 예 및 WatchNotifications 샘플 작업 예제입니다.Refer to the iOS Notifications walkthrough for an example of how to generate local notifications, and the WatchNotifications sample for a working example.

로컬 알림 있어야 합니다 AlertTitle Apple Watch-에 표시할 설정를 AlertTitle 문자열 짧은 모양을 인터페이스에 표시 됩니다.Local notifications must have the AlertTitle set to be displayed on the Apple Watch - the AlertTitle string is displayed in the Short-Look interface. 모두를 AlertTitle 하 고 AlertBody 알림 목록에 표시 됩니다 및 AlertBody 장기 모양을 인터페이스에 표시 됩니다.Both the AlertTitle and AlertBody are displayed in the notifications list; and the AlertBody is displayed in the Long-Look interface.

보여 주는이 스크린샷 합니다 AlertTitle 알림 목록에 표시 되 및 AlertBody 장기 모양을 인터페이스에 표시 (사용 하 여 합니다 샘플 코드):This screenshot shows the AlertTitle being displayed in the notifications list, and the AlertBody displayed in the Long-Look interface (using the sample code):

테스트 알림Testing Notifications

(로컬 및 원격)만 테스트할 수 있습니다 제대로 장치에를 사용 하 여 시뮬레이션할 수 있지만 한 .json iOS 시뮬레이터에에서는 파일입니다.Notifications (both local and remote) can only be properly tested on a device, however they can be simulated using a .json file in the iOS Simulator.

Apple Watch 테스트Testing on Apple Watch

Apple Watch 알림을 테스트할 때 유의 Apple 설명서 다음 상태:When testing notifications on an Apple Watch, remember that Apple's documentation states the following:

앱의 로컬 또는 원격 알림 중 하나가 사용자의 iPhone에 도착 하면 iOS Apple Watch 또는 iPhone에 해당 알림을 표시할지 여부를 결정 합니다.When one of your app’s local or remote notifications arrives on the user’s iPhone, iOS decides whether to display that notification on the iPhone or on the Apple Watch.

이 사실을 alluding은 iOS는 알림을 iPhone에서 또는 시계에 나타날지 여부를 결정 합니다.This is alluding to the fact that iOS decides whether a notification will appear on the iPhone or on the Watch. 쌍을 이루는 iPhone 활성 상태인 경우 알림의 받을 때 알림을 iPhone에 표시 될 가능성이 및 되지 시계에 라우팅됩니다.If the paired iPhone is active when a notification is received, the notification is likely to be displayed on the iPhone and not routed to the Watch.

시계에 알림을 표시 하도록 (전원 단추를 한 번 누르면) 하는 iPhone 화면 해제 또는 절전 하도록 합니다.To ensure the notification appears on the watch, turn off the iPhone screen (pressing the power button once) or let it go to sleep. 쌍을 이루는 시계는 범위 내에 있고 전원이 손목이에서 착용는, 알림을 있습니다 라우팅됩니다 하 고 (함께 미세한) 시계에 표시 합니다.If the paired Watch is in range, has power and is being worn on your wrist, the notification will be routed there and appear on the Watch (accompanied by a subtle ).

IOS 시뮬레이터에서 테스트Testing on the iOS Simulator

있습니다 해야 iOS 시뮬레이터에서에서 알림 모드를 테스트할 때 테스트 JSON 페이로드를 제공 합니다.You must provide a test JSON payload when testing notification mode in the iOS Simulator. 경로 설정 합니다 사용자 지정 실행 인수 mac 용 Visual Studio의 창Set the path in the Custom Execution Arguments window in Visual Studio for Mac.

Watch 확장으로 설정 된 경우 Mac 용 visual Studio는 추가 옵션을 표시 합니다 시작 프로젝트합니다.Visual Studio for Mac will display additional options when a watch extension is set as the Startup project. 조사식 확장 프로젝트를 마우스 오른쪽 단추로 클릭 하 고 선택 사용 하 여 실행 > 매개 변수 사용자 지정 하는 중... :Right-click on the watch extension project and choose Run With > Custom Parameters...:

열립니다는 실행 인수 포함 하는 창을 WatchKit 탭 합니다. 선택 알림을 JSON 페이로드를 제공 하 고 다음 키를 누릅니다 Execute 시뮬레이터에서 watch 앱을 시작 하려면:This opens the Execution Arguments window which contains a WatchKit tab. Select Notification and provide a JSON payload, then press Execute to start the watch app in the simulator:

기본 알림 컨트롤러 기본 페이로드 JSON 파일을 사용 하 여 시뮬레이터에서 테스트 하는 경우 다음과 같이 나타납니다.The default notification controller looks like this when testing on the simulator with the default payload JSON file:

사용 하 여도 가능 합니다 명령줄 iOS 시뮬레이터를 시작 하려면.It is also possible to use the command line to start the iOS Simulator.

알림 페이로드 예제Example Notification Payload

조사식 키트 카탈로그 있습니다 샘플 페이로드 JSON 파일의 예는 NotificationPayload.json (아래 참조).In the Watch Kit Catalog sample there is an example payload JSON file NotificationPayload.json (listed below).

{
    "aps": {
        "alert": "Test message content",
        "title": "Optional title",
        "category": "myCategory"
        },

        "WatchKit Simulator Actions": [
        {
            "title": "First Button",
            "identifier": "firstButtonAction"
        }
        ],

        "customKey": "Use this file to define a testing payload for your notifications. The aps dictionary specifies the category, alert text and title. The WatchKit Simulator Actions array can provide info for one or more action buttons in addition to the standard Dismiss button. Any other top level keys are custom payload. If you have multiple such JSON files in your project, you'll be able to choose between them in when selecting to debug the notification interface of your Watch App."
    }