概要
MoEngage の React Native SDK を使用すると、React Native フレームワークで構築された iOS および Android アプリケーションに MoEngage を統合できます。プッシュ通知、アプリ内メッセージ、カード、ユーザー属性、イベントなど、さまざまな機能を利用できます。 サンプルコードを確認するには、GitHub リポジトリを参照してください。この記事では、React Native で MoEngage の機能を実装する手順について説明します。MoEngage が React Native SDK の新しいバージョンをリリースするたびに通知を受け取れるようになりました。詳細については、MoEngage SDK リリースの購読を参照してください。
統合する前に、サポート対象の SDK バージョンと非推奨のタイムラインについて SDK 非推奨ポリシーを確認してください。
SDK のインストールと初期化
MoEngage SDK を管理する方法は 2 つあります。MoEngage Expo Plugin を使用する方法と、ネイティブレイヤーを直接設定する方法です。 Expo Plugin を使用すると、ネイティブコードを記述せずに多くの SDK 機能を設定できます。詳細については、MoEngage Expo Plugin のドキュメントを参照してください。ネイティブレイヤーを管理して SDK を設定するには、以下の手順に従います。 ステップ 1: インストール MoEngage の React Native SDK をアプリケーションに追加するには、インストール方法を参照してください。 ステップ 2: ネイティブ Android のセットアップを完了する
- インストールを完了するための Android ネイティブのセットアップガイドラインは、こちらの記事で説明しています。
- iOS では追加の手順は必要ありません。初期化(ステップ 3)に進んでください。
こちらの記事で説明されているメソッドを呼び出して、MoEngage プラグインのインスタンスを初期化します。 ステップ 4: プラットフォームの初期化
SDK を初期化し、データセンターをセットアップするためのプラットフォーム固有の手順は、以下の記事で説明しています。
データトラッキング
データトラッキングを使用すると、アプリはユーザーの行動を監視および分析して、エンゲージメント戦略を最適化できます。これには、データの破損を防ぐ方法で、ログイン、ログアウト、イベントトラッキングなどのさまざまなユーザーアクションをトラッキングすることが含まれます。データトラッキングを実装するには、以下の方法を使用します。- インストール/アップデートの区別 - 新規インストールとアップデートを別々にトラッキングするには、こちらの記事の方法を参照してください。
- ログイン、ログアウトのトラッキングと Unique ID の設定 - データの破損を防ぐために、ユーザーのログインとログアウトを処理する際は、以下の記事で説明されている手順に従うことが非常に重要です。
- ログインのトラッキングとユーザー ID の設定
- ログアウトのトラッキング
- ユーザー属性 Unique ID の更新 アプリの各ユーザーに一意の ID を持たせることが不可欠です。この ID は setUserUniqueID() を使用して MoEngage SDK に渡すことができます。この一意の ID により、複数のインストールやプラットフォームにわたってユーザーを正しく識別し、統合されたビューを提供できます。ユーザーがアプリからログアウトしたら、logout() を呼び出して新しいユーザーの作成を開始することが重要です。この手順は、新しいユーザーが行うその後のアクティビティが、以前ログインしていたユーザーに誤って紐付けられ、ユーザーデータが歪むことを防ぐために必要です。
- ユーザー属性のトラッキング - ユーザープロファイルで利用可能なカスタム属性を設定するには、こちらの記事の方法を参照してください。
- イベントのトラッキング - イベントのトラッキングとは、ユーザーのアクションを、そのアクションを説明するプロパティとともに記録することです。カスタムイベントをトラッキングするには、こちらの記事の方法を参照してください。
- 広告識別子トラッキングの有効化(Android のみ) - MoEngage SDK は、パーソナライズされたコンテンツを配信するためにデバイス ID(永続的なデバイス識別子)を使用してユーザーを一意に識別し、アプリで許可されている場合はこれを AAID に関連付けます。これにより、プッシュ通知を送信できるデバイスを正確に識別し、ユーザーの再インストールを長期にわたってトラッキングできます。ユーザーの同意を得た後に AAID のトラッキングを有効にするには、こちらの記事の方法を参照してください。
プッシュ通知
プッシュキャンペーンは、アプリやウェブサイトの通知を通じてユーザーをターゲットにします。必要な機能に応じて、以下の統合手順に従ってプッシュ通知を統合してください。基本セットアップ - Android
MoEngage を使用して Android デバイスでプッシュ通知を有効にするには、このセクションで説明する基本セットアップに従ってください。- MoEngage ダッシュボードでの FCM セットアップ - FCM 認証は、Android デバイスにインストールされたアプリへのプッシュ通知の送信を有効にするための方法です。こちらの記事に記載されている方法を使用して、MoEngage が Firebase サービスにアクセスできるよう認証してください。
- プッシュ通知用のメタデータの追加 - こちらの記事で説明されている方法を使用して、スモールアイコンとラージアイコンの drawable や、プッシュ通知を処理するためのその他のオプションを設定します。
- Android 通知のランタイム権限 - アプリケーションが Android 13 で実行されている場合、ユーザーに通知を表示するには、ユーザーに通知権限をリクエストする必要があります。権限リクエストを処理するには、こちらの記事で説明されている方法を参照してください。
- プッシュの登録と受信 - React Native アプリケーションでプッシュ通知を使用するには、Firebase を設定する必要があります。Firebase の設定手順は、統合方法によって異なります。ベストプラクティスが適切に組み込まれているため、MoEngage はプッシュの処理を MoEngage SDK に任せることをお勧めします。アプリレベルでプッシュを処理することも可能です。いずれの場合も、該当する以下のセクションを確認し、統合手順を完了してください。
- MoEngage にプッシュを処理させる(推奨)
- Android ネイティブでプッシュを処理する
- React Native でプッシュを処理する(非推奨)
基本セットアップ - iOS
MoEngage を使用して iOS デバイスでプッシュ通知を有効にするには、このセクションで説明する基本セットアップに従ってください。- MoEngage ダッシュボードでの APNS セットアップ
APNS 認証は、Android デバイスにインストールされたアプリへのプッシュ通知の送信を有効にするための方法です。MoEngage ダッシュボードで APNS をセットアップするには、以下のいずれかのオプションを使用できます。 - アプリターゲットの実装 - こちらの記事に記載されている手順に従って、アプリターゲットに変更を加え、通知を有効にします。
- SDK への App Group ID の指定 - こちらの記事の方法を使用して、App Group ID を MoEngage SDK に渡します。
- プッシュの登録と受信
- Swizzling あり
- Swizzling なし
MoEngage SDK では、プッシュ通知に関連するすべてのコールバックを取得するために AppDelegate クラスを swizzle しており、UserNotificationCenter デリゲートメソッドにもメソッド swizzling を適用しています。これは SDK の統合を容易にするためです。プッシュ通知の登録
登録を開始するには、こちらの記事の手順に従ってください。プッシュ通知受信時のコールバックメソッド
Swizzling が有効な場合、追加の設定は必要ありません。
登録を開始するには、こちらの記事の手順に従ってください。プッシュ通知受信時のコールバックメソッド
Swizzling が有効な場合、追加の設定は必要ありません。
- バッジリセットの無効化
デフォルトでは、SDK はアプリの起動ごとに通知バッジの数を 0 に設定し、これによりデバイスの通知センターの通知もクリアされます。アプリの起動後も通知を保持したい場合は、こちらのセクションのメソッドを呼び出してバッジリセットを無効にしてください。 - 通知のカスタムサウンド
アプリの通知にカスタムの通知音をオプションで設定するには、こちらのセクションの方法に従ってください。 - Notification Service Extension ターゲットの実装
Notification Service Extension を使用すると、システムが通知をユーザーに配信する前に、MoEngage SDK が通知の内容をカスタマイズできます。これにより、通知へのメディアの追加、インボックスのサポート、配信された通知のバッジ数の更新、通知インプレッションのトラッキングが可能になります。Notification Service Extension をセットアップするには、こちらの記事の手順に従ってください。 - 通知アクション
アクション可能な通知を使用すると、標準の iOS プッシュ通知にカスタムアクションボタンを追加できます。通知にカスタムアクションを追加し、通知で実行されたアクションをトラッキングするには、こちらの記事に記載されている手順に従ってください。
プッシュテンプレート
プッシュテンプレートを使用すると、コーディングなしで数分以内に美しい通知を作成できます。ダッシュボードでテンプレートを使用してキャンペーンを作成する方法については、こちらの記事を参照してください。 プッシュテンプレートを有効にするには、プラットフォーム固有のドキュメントに従ってください。Push Amp+(Android のみ、任意)
通知の約 25~30% は、OEM(Original Equipment Manufacturer)デバイスの問題により配信されていません。この問題に対処してリテンション率を向上させるために、MoEngage は通知を受け取れなかった可能性のある顧客にリーチする Push Amplification+ を開発しました。また、MoEngage は OEM と提携してこれらの問題に対処し、通知が確実に配信されるようにしています。アプリケーションへの追加の負担を最小限に抑えるため、OEM ごとに個別のソフトウェア開発キット(SDK)を開発しています。アプリケーションの具体的なニーズとデバイスシェアに基づいて、関連する SDK を選択して統合できます。プッシュ通知を最適に配信するために、各 OEM 固有のサービスのドキュメントを参照し、適切なものをアプリケーションに統合してください。サポートされている統合
Push Amplification(Android のみ、任意)
Push Amplification は、Firebase Cloud Messaging(FCM)がプッシュ通知の配信に失敗した場合のフォールバックメカニズムとして機能します。Push Amplification をセットアップするには、こちらの方法に従ってください。通知センター
通知センターにはプッシュ通知の履歴が表示され、エンドユーザーがスクロールして見逃した通知を確認できるオプションを提供できます。MoEngage は、完全にカスタマイズ可能なデフォルト UI を備えたすぐに使えるインボックスのサポートを提供しており、独自の通知センターを構築するオプションも用意しています。詳細については、通知センターを参照してください。位置情報トリガー通知(任意)
位置情報トリガー通知を使用すると、定義したジオフェンスへのユーザーの進入、退出、滞在をトリガーとしてオーディエンスにメッセージを送信できます。位置情報トリガーをセットアップするには、こちらの記事の方法に従ってください。デバイストリガー通知(任意)
デバイストリガー通知を使用すると、デバイス上のアクティビティに基づいてローカルでトリガーされるメッセージをオーディエンスに送信できます。メッセージのオフライン配信もサポートされています。 デバイストリガー通知を有効にするには、以下のプラットフォーム固有の記事を参照してください。Android の高度なユースケース
高度なユースケース向けに、以下のオプションが用意されています。- MoEngage 以外のペイロード - MoEngage プラットフォーム以外のサーバーからプッシュペイロードを受信した場合にオプションでコールバックを受け取るには、こちらの方法を参照してください。
- コールバックとカスタマイズ - MoEngage SDK では、クライアントアプリケーションが通知の表示をオプションでカスタマイズし、通知の動作を拡張/カスタマイズできます。以下のような機能を利用するには、こちらに記載されている方法を参照してください。
- 通知をユーザーに表示するかどうかの制御
- 通知受信時のコールバック
- 通知クリック時のコールバック
- 通知クリア時のコールバック
- アクションボタンクリック時のカスタムアクション
- アプリケーションによるプッシュ表示の処理(Android) - アプリケーションがクライアント側でプッシュ表示を処理する必要がある場合は、こちらの記事で説明されている方法を使用して、通知のインプレッションとケースをトラッキングできます。
アプリ内メッセージ
MoEngage のアプリ内キャンペーンは、ユーザーがアプリを使用している間にメッセージを表示することでユーザーをターゲットにします。コンテキストに応じた情報の提供に効果的であり、アプリの特定の画面やユーザーがアプリ内で実行した特定のアクションでのクロスセル/アップセルに役立ちます。 基本セットアップ - React Native にアプリ内通知をインストールするには、以下のプラットフォーム固有の方法を使用します。- Android
- iOS(iOS ではインストールは不要です)
アプリ内メッセージの表示
アプリ内メッセージは、MoEngage のすぐに使える UI を使用して表示することも、セルフハンドルのアプリ内メッセージを使用して、MoEngage からのペイロードでアプリケーションの UI を構築することもできます。 アプリ内メッセージの表示画面に InApp キャンペーンを表示するには、こちらのメソッドを呼び出します。アプリ内ポップアップは、showInApp() メソッドが呼び出された場所にのみ表示されます。 画面の向きの変更への対応
アプリ内メッセージは、縦向きモードと横向きモードの両方でサポートされています。SDK がアプリ内メッセージの表示を処理できるよう、デバイスの向きが変わったときに SDK に通知する必要があります。画面の向きの変更に対応するには、こちらの記事を参照してください。 セルフハンドルのアプリ内メッセージ
セルフハンドルのアプリ内メッセージは、SDK によってアプリケーションに配信されるメッセージであり、アプリケーションは SDK から配信されたペイロードを使用して UI を構築します。セルフハンドルのアプリ内メッセージを取得するには、こちらの記事を参照してください。