SDK: Swift / Obj-C

前提条件

SDKをアプリに統合する前に、以下の要件を満たしている必要があります:

  • 開発およびテスト用の iOS 11+ デバイス(iPhone、iPad、または iPod Touch)。

    • 注: XCode シミュレーターはリモートプッシュ通知をサポートしていません。物理デバイスを使用する必要があります。

  • XCode 14+(Swift を使用する場合は Swift 5.7)がインストールされた Mac OS デバイス。

  • iOS の P12 プッシュ証明書または P8 キー。これらをまだお持ちでない場合は、 こちらのドキュメント それらを生成します。

  • SDKキー:Pushlyプラットフォームの ドメイン設定 ページの 概要 > 詳細 > ドメイン情報 セクションから取得します。

ステップ 1: PushSDK フレームワークをインポートする

PushSDK Framework は Swift と Objective-C の両方に対応しています。

  • のみに追加する必要があります。ルートプロジェクトを選択し、その後にメインのアプリケーションターゲット > 一般

  • クリック + > その他を追加 > パッケージの依存関係を追加 の下の Frameworks, Libraries, and Embedded Content

  • パッケージ URL を使用して検索: https://github.com/pushly/push-sdk-iosarrow-up-right

  • 依存関係ルールを次のように設定します: バージョン範囲 および 1.0.0 < 2.0.0

  • クリック パッケージを追加

  • 次を確認してください Pushly オプションにチェックを入れて、次をクリックします パッケージを追加

  • 最後に、次を追加します Pushly ライブラリをメインアプリケーションターゲットに

ステップ 2: Notification Service Extension を追加する

画像やカスタムアクションをサポートするリッチ通知を有効にするには、Notification Service Extensionが必要です。

アプリの XCode プロジェクト内で次を選択します File > New > Target。次を選択します Notification Service Extension をiOSテンプレートタブ内で選択して、 Next.

"NotificationServiceExtension"を Product Name に入力し、アプリ拡張の他の設定詳細も入力してから、 Finish をクリックしますが、 その後のダイアログでは有効化をクリックしないでください

クリック キャンセル モーダルが閉じた後にデプロイメントターゲットを設定できるように、サービス拡張の有効化を求めるダイアログで

デプロイメントターゲットを メインのアプリケーションターゲットと同じに設定してください。特別な理由がない限り、 Deployment Target をiOS 11に設定するべきです。これはPushSDK Frameworkおよび最新のXCodeでサポートされるiOSの最低バージョンです。

次に、次を追加します Pushly ライブラリを Notification Service Extension に:

クリック + の下の Frameworks and Libraries そして、すでにインポートされた Pushly ライブラリを選択します。

次に、新しく作成されたNotification Service Extensionを開き、コードを以下の内容に置き換えます:

circle-info

依存関係エラーは無視できます。たとえば Module Pushly not foundは、この時点では次回のビルドで解決されるためです。

ステップ 3: メインアプリケーションターゲットに機能を追加する

circle-exclamation

のみに追加する必要があります。ルートプロジェクトを選択し、その後にメインのアプリケーションターゲット > Signing & Capabilities

次をクリックします + Capability を選択して、 Push Notifications.

次をクリックします + Capability を選択して、 Background Modes.

を追加します。 Background Modes 機能を追加した後、 Remote Notifications が有効になっていることを確認してください。

次をクリックします + Capability を選択して、 App Groups.

次をクリックします + 内にある App Groups セクションのシンボルを使って新しい名前付きコンテナーを追加します。PushSDKが情報を正しく取得できるようにするには、コンテナー名を group.{app-bundle-id}.push.

にする必要があります。メインのアプリケーションターゲットで、新しく作成したApp Groupの横のチェックボックスをオンにします。

circle-info

この時点で Xcode が新しい App Group について警告する場合は、プロビジョニングが完了した後に一覧を更新する必要があるかもしれません。

ステップ 4: Notification Service Extension に機能を追加する

ルートプロジェクトを選択し、次に NotificationServiceExtension > Signing & Capabilities

次をクリックします + Capability を選択して、 App Groups.

最後に、「」内の新しく作成された App Group の横にあるチェックボックスをオンにします NotificationServiceExtension.

ステップ 5: SDK の初期化

まず、次をインポートします Pushly AppDelegate 内のライブラリ

AppDelegate の次のコードを追加します didFinishLaunchingWithOptions アプリケーションのメソッドに。

次の REPLACE_WITH_SDK_KEYsetConfiguration メソッド内で、プラットフォーム設定ページのSDKキーに置き換えてください。

ステップ 6: 実装をテストする

正しくビルドされることを確認するために、実機の iOS デバイスでアプリを実行します。

circle-info

注: XCode シミュレーターはリモートプッシュ通知をサポートしていません。物理デバイスを使用する必要があります。

前のステップで追加したコードにより、アプリを開くとプッシュ許可ダイアログが表示されます。これは次を使用してカスタマイズできます SDK メソッド を使用して、ダイアログを表示するタイミングを制御することでカスタマイズできます。

ダイアログを承認した後、プラットフォームにログインして Notifications > Create Notification へ移動し、 ネイティブ: iOS チャネル

次のステップ

SDK が正しく動作していることを確認したら、次のような追加のオプション機能を引き続き追加できます:

最終更新