ライブアクティビティ
Pushly PushSDK を使用して iOS アプリケーションにライブアクティビティサポートを追加するためのクイックスタートガイド
Live Activities2022年10月にAppleが導入したもので、アプリ開発者がデバイスのロック画面やDynamic Island(対応デバイス向け)上のウィジェットを通じて、動的にリアルタイム更新されるコンテンツを表示できるようにします。
PushSDKは、Live Activityに関連付けられた短時間のみ有効なプッシュトークンの登録と管理を開発者が行えるようにすることで、Live Activityの登録と更新を効率化します。これらはその後、当社のサーバーAPI経由で更新できます。
前提条件
SDKにLive Activitiesを統合する前に、以下の要件を満たしている必要があります:
.p8キーで構成されたiOS送信統合。
iOSアプリ(Live ActivitiesはiOSとiPadOSでのみ利用可能です)。
iOS 16.1以降がインストールされたデバイスまたはエミュレーター
Live ActivitiesをサポートするPushSDKリリース(下のバージョン対応表を参照)
ステップ1: iOS SDKのセットアップ
アプリケーションが まだ PushSDKを使用していない場合は、ネイティブアプリのPushセットアップガイドを参照してください。 Apple / iOS.
すでにPushSDKを使用しているアプリケーションでは、Live Activity対応を含む後のバージョンへのアップグレードが必要になる場合があります。以下の表を使って、インストールのアップグレードが必要かどうかを確認してください。
1.3.9以上(iOS 17.2以上が必要)
Xcodeのプロジェクトナビゲーターパネル内で Package Dependenciesを見つけて右クリックし、 Pushly を選択します。 Update Package.

更新後にパッケージが1.2.0以上でない場合は、プロジェクトナビゲーターでProjectを選択し、プロジェクトを選んだうえで、 Package Dependencies。次を選択します Pushly に移動し、 Dependency Rule が Up to Next Major Version に設定されており、ターゲットが1.0.0以上であることを確認してください。

次を対象にしていることを確認してください
'Pushly', '>= 1.0', '< 2.0'をPodfileに記載してください。実行
pod update PushlyPodfile.lockを確認して、最新バージョンがダウンロードされていることを確認してください。
ステップ2: Info.plistにLive Activityサポートを追加
Live Activitiesを実装するアプリケーションは、 Supports Live Activities キーを YES に、メインターゲットのinfo.plistで設定する必要があります。

ユースケースの1つが頻繁な更新を利用する場合は、 Supports Live Activities Frequent Updates を YES にinfo.plistで設定することも検討してください。
ステップ3: Live Activity Widget Extensionを追加
アプリのXcodeプロジェクト内で File > New > Target。次を選択します Widget Extension をiOSテンプレートタブ内で選択して、 Next.

に希望するLive Activityウィジェット名を入力し、 Product Name およびウィジェット拡張のその他の設定詳細を入力して、 Include Live Activity が選択されていることを確認したうえで、 Finishをクリックします。続くダイアログで キャンセル をクリックして、新しいウィジェット拡張を現在のターゲットとして有効化せずに開発を続行します。

ステップ4: Live Activityをセットアップする
ユーザーインターフェース
新しいLive Activityを開始する前に、Appleの以下のガイドを読むことをおすすめします。 Live Activitiesでライブデータを表示する.
Live Activityの開始
Live Activityの設計とセットアップが完了したら、PushSDKを通じてそれを開始および登録する準備が整います。
単一のAPI呼び出しで数百万台のデバイスにまたがる複数のLive Activityインスタンスの追跡と更新を支援するために、activity IDを使用します。activity IDは、開発者であるあなたが提供する文字列値です。
スポーツイベントのような一部のシナリオでは、単一のイベントに登録されたすべてのデバイスに1回の更新を送信したい場合があります。このような場合は、個々のユーザーごとのIDではなく、イベントを識別する一意のIDを使用すべきです。
食事注文のような別のシナリオでは、Live Activitiesはユーザー固有です。このような場合は、個々のユーザーを識別する一意のIDを使用すべきです。
ステップ5: Live Activityを開始する
アプリ内から開始する
以下のコードスニペットは、 MyLiveActivityAttributes structを使い、 eventId 属性によってこの活動インスタンスを一意に識別し、その後PushSDKに活動を登録して、トークン更新を監視・収集するよう要求します。
プッシュ経由で開始するための活動タイプの登録
以下のコードスニペットは、Activityタイプの監視を開始し、push-to-startトークンを登録します。また、すでに開始済みまたは実行中の活動もプッシュトークン収集用に登録されることを保証します。ここでも再び、 MyLiveActivityAttributes class eventId を使用します。このclassは、活動のこのインスタンスを一意に識別する属性を持ちます。
開始イベントの送信
活動タイプをPushSDKに登録したら、当社の Live Activity APIドキュメント を使って、 activity.ios.data.attributes_type プロパティで対応するattributes struct名を指定し、 activity.ios.data.attributes オブジェクトとリクエストパスの両方に関連付けられた一意のactivity識別子を渡すことで、開始イベントを送信できます。このシナリオでは、 eventId 属性を my_activity_id に設定して使用しました。これは後続の更新イベントで使用できます。
PNActivityAttributesプロトコル
PushSDKは、シンプルなプロトコルである PNActivityAttributesも提供しており、これには pnActivityId という属性が必要で、これが活動を一意に識別するために使用されます。このプロトコルを使用すると、ローカルで開始された活動とプッシュ経由で開始された活動の両方でIDがトークン登録のために自動収集されるため、メソッドシグネチャが簡略化されます。
ステップ5: Live Activityに更新を送信する
短時間のみ有効なプッシュトークンがactivity IDに登録されたら、当社の Live Activity APIドキュメント を使って、単一のリクエストで登録済みのすべてのLive Activityに更新を送信できます。
詳細については ActivityKitプッシュ通知でLive Activitiesを開始および更新する Appleの開発者ドキュメントを参照してください。
最終更新