Skip to main content

概要

v7.0.0 以降、MoEngage Capacitor SDK はファイルベースの初期化をサポートしています。
統合プロセスを効率化し、初期化エラーを最小限に抑えるために、MoEngage はスクリプトベースの初期化をサポートしています。このアプローチでは、App ID と設定をネイティブの設定ファイル内で直接管理できるため、アプリケーションロジックから分離しておくことができます。

スクリプトベースの初期化

このアプローチでは、フォームベースのインターフェースを使用して、初期化用の検証済みコードスニペットを生成し、モジュール固有の設定にアクセスする方法について説明します。 初期化スクリプトを生成するには、次の手順に従います。
  1. 初期化 Web サイトに移動します。
  2. アプリケーションの要件に基づいて値を設定します。以下の設定パラメータの表を参照してください。
  3. フォームの下部にある Generate Code をクリックします。

Android の設定(XML)

Android では、アプリケーションのリソースディレクトリに XML 設定ファイルを配置することで初期化を行います。

Android 設定リファレンス

以下は、moengage.xml で使用できるキーの包括的な一覧です。
トラブルシューティングXML ファイルが存在しない場合、または com_moengage_core_workspace_id が空の場合、SDK は ConfigurationMismatchError をスローします。

設定ファイルの追加

生成された moengage.xml ファイルを、Capacitor Android プロジェクトの android/app/src/main/res/values/ に配置します。

iOS の設定(Info.plist)

iOS では、Info.plist に設定ディクショナリを追加することで初期化を行います。

iOS 設定リファレンス

以下は、MoEngage ディクショナリで使用できるキーの包括的な一覧です。

データセンターの値

お使いのリージョンに対応する整数を設定します。誤った値を設定すると、データが失われます。

Info.plist の更新

  1. プロジェクトの Info.plist(ios/App/App/Info.plist にあります)を開きます。
  2. Dictionary 型の MoEngage という名前の新しいトップレベルキーを作成します。
  3. 初期化 Web サイトで生成された設定ファイルの内容を追加します。
キー IsSdkAutoInitialisationEnabled はイギリス式のスペル(‘s’)を使用しています。以下に示すキー名を正確に使用してください。そうしないと初期化に失敗します。
XML スニペットの表現:

フレームワークレベルの初期化

ネイティブファイルを設定したら、ネイティブラッパーと Capacitor フレームワークの両方で初期化をトリガーする必要があります。

Android ネイティブのセットアップ

JavaScript から SDK を初期化する前に、Android の Application クラスでネイティブモジュールを初期化します。android/app/src/main/java\<your_package\>/MainApplication.java (or .kt) の onCreate() 内に次のコードを追加します。 ファイルベースの初期化(res/values/ の XML(例: moengage.xml)から設定を読み込みます):

iOS ネイティブのセットアップ

AppDelegate.swift がデフォルトインスタンスメソッドを使用して SDK の初期化をトリガーし、Info.plist から読み込めるようにしてください。

Capacitor コンポーネントの初期化

Android ネイティブのセットアップ後、他の MoEngage Capacitor API を呼び出す前にブリッジと initConfig が登録されるよう、アプリのエントリーまたはルートコンポーネント(例: app.component.ts、main.ts、または index.ts/js)からプラグインを初期化します。

移行と優先順位

手動のコードベースの初期化からファイルベースのアプローチに移行するには、こちらを参照してください。

環境(テストとライブ)

これらのファイル内でテスト/ライブ環境を設定できます。
  • Android: キー <string name="com_moengage_core_environment">test</string> を使用します。
  • iOS: <key>IsTestEnvironment</key> <true/> を使用します。