通知コンテンツ拡張が実装されていない場合、iOSプッシュ通知(SDKバージョン8.x.x)でプッシュテンプレートの問題を回避する方法

問題

通知コンテンツ拡張が実装されていない場合、プッシュ通知でテンプレート(カルーセル画像、背景色、フォント色など)が正しく表示されません。

指示

次の手順を実行します。

  1. 通知コンテンツ拡張ターゲットを作成します。 NCE.png
    • 拡張ターゲットに名前を付けます。 拡張ターゲットの名前を選択します。 Swift は、Objective-Cプロジェクトともシームレスに動作するため、推奨される言語です。 name swift.png
    • 通知コンテンツ拡張の 署名と機能 設定に AppGroupId を追加します。 signing.png
    • 通知コンテンツ拡張の最小展開iOSバージョンをメインアプリのiOSバージョンに合わせて設定します。 deployment.png
  2. MORichNotificationフレームワークを通知コンテンツ拡張ターゲットに統合する。
    • あなたのポッドファイルに、通知コンテンツ拡張を別のターゲットとして追加し、 MORichNotification フレームワークをインストールします。
      Swift
      target 'MoEngageDemo' do
        use_frameworks!
        pod 'MoEngage-iOS-SDK'
      end
      
      target 'MoEngageNotificationService' do
        use_frameworks! #use use_frameworks only if included in main target as in above scenario
        pod 'MoEngageRichNotification'
      end
      
      target 'MoegageRichContent" do
        use_frameworks! #use use_frameworks only if included in main target as in above scenario
        pod 'MoEngageRichNotification'
      end
  3. NotificationViewController.swiftファイルのコード変更。
  4. MainInterface.storyboard をコンテンツ拡張で選択し、デフォルトのラベルを削除して、ビューの背景色をクリアに設定します。 main.png
  5. Info.plistの変更:
    Swift
    <key>NSExtensionAttributes</key> 
    <dict>
    <key>UNNotificationExtensionCategory</key>
    <string>MOE_PUSH_TEMPLATE</string>
    <key>UNNotificationExtensionDefaultContentHidden</key>
    <true/>
    <key>UNNotificationExtensionInitialContentSizeRatio</key>
    <real>1.2</real>
    <key>UNNotificationExtensionUserInteractionEnabled</key>
    <true/>
    </dict>
    NSExtension.png
  6. メインアプリターゲットのビルドフェーズを確認してください。
    • 埋め込みアプリ拡張機能/埋め込み基盤拡張機能では、 インストール時のみコピー が選択されていないことを確認してください。 copy only.png
  7. 設定全体で一貫したappGroupIdを確保する。

    • プロジェクト内のすべてのスキームと構成(たとえば、Debug/Release/QA/UAT)で appGroupId が一貫していることを確認してください。
  8. ビルド構成を調整する。
    • プロジェクトを実行またはアーカイブする際は、メインターゲット、通知サービス拡張、および通知コンテンツ拡張ターゲットのビルド構成が同じスキーム/構成を指していることを確認してください。

    debug.png

    target.png

    duplicate.png

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

How can we improve this article?