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