Ionic
このトピックでは、Marketo Cordova プラグインを統合する方法について説明します。Ionic キャパシターは現在サポートされていません。
前提条件
- Marketo Admin でのアプリケーションの追加 (アプリケーションの秘密鍵と Munchkin ID を取得します)。
- プッシュ通知の設定(iOS | Android)。
- Ionic と Cordova CLI のインストール。
インストール手順
Marketo Ionic プラグインの設定
-
Cordova CLI がインストールされている場合は、Ionic アプリケーションディレクトリに移動し、次のコマンドを実行して Marketo プラグインをアプリケーションに追加します。
$ ionic plugin add https://github.com/Marketo/PhoneGapPlugin.git --variable APPLICATION_SECRET_KEY="YOUR_APPLICATION_SECRET"
-
プラグインがアプリケーションに追加されたことを確認するには、次のコマンドを実行します。
$ ionic plugin list com.marketo.plugin 0.X.0 "MarketoPlugin"
新しいバージョンへの移行(オプション)
-
既存のプラグインを削除するには、次のコマンドを実行します。
$ ionic plugin remove com.marketo.plugin
-
プラグインを再追加するには、次のコマンドを実行します。
$ ionic plugin add https://github.com/Marketo/PhoneGapPlugin.git --variable APPLICATION_SECRET_KEY="YOUR_APPLICATION_SECRET"
xCode でのプッシュ通知の有効化
- xCode プロジェクトでプッシュ通知機能をオンにします。
プッシュ通知のトラッキング
次のコードをに貼り付けます。 application:didFinishLaunchingWithOptions:
関数。
code language-none |
---|
|
code language-none |
---|
|
Marketo フレームワークの初期化
Marketo フレームワークをアプリの起動時に開始するには、以下のコードをアプリのメインの JavaScript ファイル内の onDeviceReady
関数に追加してください。
Ionic Cordova アプリのフレームワークタイプとして ionicCordova
を渡す必要があります。
構文
// This method will Initialize the Marketo Framework using Your MunchkinId and Secret Key
marketo.initialize(
function() { console.log("MarketoSDK Init done."); },
function(error) { console.log("an error occurred:" + error); },
'YOUR_MUNCHKIN_ID',
'YOUR_SECRET_KEY',
'FRAMEWORK_TYPE'
);
// For session tracking, add following.
marketo.onStart(
function(){ console.log("onStart."); },
function(error){ console.log("Failed to report onStart." + error); }
);
パラメーター
- Success Callback :Marketo フレームワークが正常に初期化された場合に実行する関数。
- Failure Callback :Marketo フレームワークを初期化できない場合に実行する関数
- MUNCHKIN ID:登録時にMarketoから受信した Munchkin ID。
- 秘密鍵:登録時にMarketoから受信した秘密鍵。
Marketo プッシュ通知の初期化
Marketo プッシュ通知を開始するには、メインの JavaScript ファイルの初期化関数の後に次のコードを追加します。
構文
// This function will Enable user notifications (prompts the user to accept push notifications in iOS)
marketo.initializeMarketoPush(
function() { console.log("Marketo push successfully initialized."); },
function(error) { console.log("an error occurred:" + error); },
'YOUR_GCM_PROJECT_ID' // This is required for Android and will be ignored in iOS
);
パラメーター
- Success Callback :Marketo プッシュ通知が正常に初期化された場合に実行する関数。
- Failure Callback :Marketoのプッシュ通知が初期化に失敗した場合に実行する関数
- GCM_PROJECT_ID :GCM プロジェクト ID が見つかりました Google開発者コンソール アプリの作成後。
トークンは、ログアウト時に登録解除することもできます。
marketo.uninitializeMarketoPush(
function() { console.log("Marketo push successfully uninitialized."); } ,
function(error) { console.log("an error occurred:" + error); }
);
リードを関連付け
associateLead 関数を呼び出すことで、Marketo リードを作成できます。
構文
marketo.associateLead(
function(){ console.log("MarketoSDK : Lead Added"); },
function(error){ console.log("an error occurred:" + error); },
'Lead_Data_JSON_String'
);
パラメーター
- Success Callback :Marketo Framework がリードを正常に関連付けたときに実行する関数。
- Failure Callback :Marketo フレームワークがリードを関連付けられなかった場合に実行する関数
- リードデータ :JSON 文字列形式のリードデータ。
例
// First create a lead as shown below
var lead = {};
lead[marketo.KEY_FIRST_NAME] = "Ionic";
lead[marketo.KEY_LAST_NAME] = "App";
lead[marketo.KEY_EMAIL] = email;
lead[marketo.KEY_ADDRESS] = "demo address";
lead[marketo.KEY_CITY] = "city";
lead[marketo.KEY_STATE] = "state";
lead[marketo.KEY_COUNTRY] = "country";
lead[marketo.KEY_POSTAL_CODE] = "postalCode";
lead[marketo.KEY_GENDER] = "gender";
// Use associateLead function to associate it.
marketo.associateLead(
function() { console.log("MarketoSDK : Lead Associated"); },
function(error) { console.log("an error occurred:" + error); },
JSON.stringify(lead)
);
報告書アクション
ユーザーがアクションを実行した場合は、 reportaction
関数。
構文
marketo.reportaction(
function(){ console.log("MarketoSDK : New event sent "); },
function(error){ console.log("an error occurred:" + error); },
'Action_Name',
'Action_Data_JSON_String'
);
パラメーター
- Success Callback :Marketo フレームワークがアクションを正常にレポートした場合に実行する関数。
- Failure Callback :Marketo フレームワークがアクションのレポートに失敗した場合に実行する関数。
- アクション名:アクション名。
- アクションデータ :JSON 文字列形式のアクションデータ。
例
// First create an event as below
var event = {
"Action Type":"Add To Cart",
"Action Details":"Adding Product in cart",
"Action Metric":"10",
"Action Length":"1"
}
marketo.reportaction(
function(){ console.log("Reported action successfully."); },
function(error){ console.log("Failed to report action." + error); },
"Add To Cart",
JSON.stringify(event)
);
セッションレポート
次に示すように、「一時停止」および「再開」イベントタイプをバインドして、開始イベントと停止イベントをレポートします。 これは、モバイルアプリケーションで費やした時間を追跡するために使用されます。メモ:これは Android で必要です。
//Add the following code in your www/js/index.js
bindEvents: function() {
document.addEventListener('pause', this.onStop, false);
document.addEventListener('resume', this.onStart, false);
},
onStop: function() {
marketo.onStop(
function(){ console.log("onStop"); },
function(error){ console.log("Failed to report onStop." + error); }
);
},
onStart: function() {
marketo.onStart(
function(){ console.log("onStart."); },
function(error){console.log( "Failed to report onStart." + error); }
);
},
リードの作成
ハイブリッドアプリからリードを作成する方法は 3 つあります。
- MARKETO MME SDK
- MARKETO REST API
- フォーム送信
使用する方法に応じて、新しく作成したリードは様々なトリガーとフィルターによって認識されます。MME SDK または REST API を使用して作成されたリードは、「リードが作成されました」のトリガーおよびフィルターに表示されます。 フォーム送信によって作成されたリードは、「フォームに記入」トリガーとフィルターに表示されます。
ベストプラクティスは、リードを作成する際に Web アプリで使用される方法との一貫性を維持することです。 リードを作成するメカニズムとしてフォーム送信を使用する web アプリが既にある場合は、ハイブリッドアプリでリードを作成する際に同じメカニズムを使用します。 リードを作成するメカニズムとして REST API を使用する web アプリが既にある場合は、ハイブリッドアプリでリードを作成する際に同じメカニズムを使用します。 Web アプリでリードを作成するメカニズムとしてフォーム送信も REST API も使用していない場合は、MME SDK を使用してMarketoでリードを作成することを検討できます。