AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
iOS 10リッチプッシュ通知
iOS 10では、画像、GIF、およびビデオでプッシュ通知を送信する機能が導入されています。この機能を有効にするには、クライアントはService Extension
を作成する必要があります。これは、プッシュペイロードが表示される前に変更できる新しいタイプの拡張機能です。
サービス拡張の作成
Notification Service Extension
を作成するには、Xcode で [ファイル] > [新規] > [ターゲット] に移動し、[通知サービス拡張] を選択します。
アプリケーションに拡張機能を埋め込むように [アプリケーションに埋め込む] が設定されていることを確認します。
サービス拡張の設定
Notification Service Extension
は、アプリにバンドルされている独自のバイナリです。これは、Apple Developer Portalに独自のアプリIDとプロビジョニングプロファイルで設定する必要があります。
Notification Service Extension
のバンドル ID は、メインアプリターゲットのバンドル ID とは異なる必要があります。たとえば、アプリのバンドル ID が com.company.appname
の場合、サービス拡張に com.company.appname.AppNameServiceExtension
を使用できます。
Braze で動作するようにサービス拡張を設定する
Braze は、リッチコンテンツの設定、ダウンロード、および表示に使用する ab
キーの下にある APNs ペイロードの添付ペイロードを送信します。以下に例を示します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"ab" :
{
...
"att" :
{
"url" : "http://mysite.com/myimage.jpg",
"type" : "jpg"
}
},
"aps" :
{
...
}
}
関連するペイロード値は次のとおりです。
1
2
3
4
5
6
7
8
9
10
11
// The Braze dictionary key
static NSString *const AppboyAPNSDictionaryKey = @"ab";
// The attachment dictionary
static NSString *const AppboyAPNSDictionaryAttachmentKey = @"att";
// The attachment URL
static NSString *const AppboyAPNSDictionaryAttachmentURLKey = @"url";
// The type of the attachment - a suffix for the file you save
static NSString *const AppboyAPNSDictionaryAttachmentTypeKey = @"type";
Braze ペイロードで手動でプッシュ通知を表示するには、AppboyAPNSDictionaryAttachmentURLKey
の下の値からコンテンツをダウンロードし、AppboyAPNSDictionaryAttachmentTypeKey
キーの下に格納されているファイルタイプのファイルとして保存し、通知添付ファイルに追加します。
サンプルコード
サービス拡張は、Objective-C または Swift で記述できます。
Objective-C サンプルコードを使用するには、Notification Service Extension
ターゲットの自動生成された NotificationService.m
の内容をAppboy の NotificationService.m
の内容に置き換えます。
Swift サンプルコードを使用するには、Notification Service Extension
ターゲットの自動生成されたNotificationService.swift
の内容を Appboy の NotificationService.swift
の内容に置き換えます。
ダッシュボードでリッチプッシュ通知を作成する
Braze ダッシュボードでリッチプッシュ通知を作成するには、iOS プッシュを作成するか、イメージまたは GIF を添付するか、画像、GIF、または動画をホストするURL を指定します。アセットはプッシュ通知の受信時にダウンロードされるため、コンテンツをホスティングしている場合は、要求が大規模に同期的に急増することを想定する必要があります。
サポートされているファイルタイプとサイズのリストについては、unnotificationattachment
を参照してください。