2015-12-18

ExactTargetのJourneyBuilder試してみた【MobilePush編】

ExactTarget(SalesforceMarketingCloud)のJourneyBuilderでMobilePushをやってみました。

今回の参考URL→Salesforce-Marketing-Cloud-Developer-Edition-Recipes/firing-events.md

また、MobilePushのSDK組み込みやアプリケーション設定に関しては以下の記事を参考にしてください。

1. Platformタブの有効化

JourneyBuilderはデフォルトではMobilePushに対応していないので、有効化する必要があります。有効化のためにはPlatformタブを有効化してもらう必要があるので、サポートに連絡して有効化してもらいます。

参考URL→http://salesforce.stackexchange.com/questions/85470/mobile-push-and-mobile-connect-in-journey-builder

2. MobilePushの有効化

PlatformタブのMarketing Cloud Extension Managerをクリックします。

et_mainmenu_platform

Mobile Pushの[Manage]ボタンをクリックします。

et_platform

対象のユーザを有効化します。

et_platform_mobilepush

3. Interaction用のメッセージを作成

[Mobile]>[MobilePush]から[Create Message]ボタンを押下して、メッセージを作成します。JourneyBuilderのMobilePushを有効化すると、Send MethodにInteractionというのが増えるので、これにチェックを付けてメッセージを作成します。

et_interaction_message

4. Interaction用のDataExtension(DE)を作成

こんな感じなDataExtensionを作成します。

et_interaction_de

SendableなDEにする必要があります。また、利用するケースによってはSubscriberKeyは不要です(後述)

5. Interactionの作成

JourneyBuilderの[New Interaction]ボタンから新規作成画面に遷移します。 その後、[Configure Event]をクリックします。

et_interaction_init

[New Event]をクリックします。

et_interaction_event1

Contact Eventを選択して[Next]をクリックします。

et_interaction_event2

Eventの情報を入力して[Next]をクリックします。

et_interaction_event3

紐付けるEvent Source用のDataExtensionを選択します。ここでは2で作成したDataExtensionを選択します。スケジュールでJourneyBuilderを起動する場合は、Repeatに適切な値をセットします。今回はAPI or AutomationStudio経由でイベント発火を行うので、Repeatに「Never」を選択します。

et_interaction_event4

対象のContactの属性値に応じてJourneyBuilderを起動させるかどうかのフィルタリングの設定を行うことができます。今回はフィルタリングを行わないので、何も選択せず[Next]をクリックします。

et_interaction_event5

入力した情報を確認し、[Done]をクリックします。

et_interaction_event6

そうするとこんな感じで作成したEventがInteractionと紐付きます。 左側のSend Pushをドラッグアンドドロップで右のエリアに持って行きます。

et_interaction_afterev

以下のようにフローが自動的に生成されます。デフォルトではイベント発火とSendPushの間、SendPushとInteraction終了の間に1日のタイムラグがある状態です。これだと確認に時間がかかるので、この「待ち時間」を減らします。

et_inetraction_aftersendpush

まずは左側の「待ち時間」を削除します。

et_interaction_deletewait

右側の「待ち時間」は削除できないので、編集で1日から1分に減らします。

et_interaction_wait1

et_interaction_wait2

Send Pushのメッセージ内容を編集します。

et_interaction_sendpush_config

3で作成したメッセージを選択します(Send MethodがInteractionのメッセージのみ表示されます)

et_interaction_sendpush_message

設定が完了したら、[Save]をクリックしてInteractionを保存します。

et_interaction_complete

ちなみに、Contact EntryはInteractionに同時に複数回入る可能性がある場合は、Multiple Entriesにする必要があります。逆に、同時に複数回入ることを回避したい場合は、Single Entryを選択してください。

6. Interactionのコール

Interactionのコールは以下の方法があります。 今回はAutomationStudioとAPIによる起動をやっていきます。

AutomationStudioによる起動

以下のようなFireEventだけのAutomationStudioを作成します。

et_automation_fireevent

FireEventの中身はこんな感じで、対象のイベント用のDEを選択します。

et_automation_fireevent2

あとは、[Run Once]をクリックして、AutomationStudioを起動してFire Eventを実行させます。

APIによる起動

contactEventsを使う方法とeventを利用する方法の2種類ありますが、簡単なevents APIの方をやります。

起動するためにはEvent Definition Keyが必要になります。[JourneyBuilder]の[Administration]>[Events]から対象のイベントを選択して、Event Definition Keyを確認してください。

et_event_list

et_event_detail

APIのリクエストこんな感じで

$ curl -i -X POST \
   -H "Content-Type:application/json" \
   -H "Authorization:Bearer {Access Token}" \
   -d \
'{
  "ContactKey":"{Contact Key(=Subscriber Key)}",
  "EventDefinitionKey":"{Event Definition Key}",
  "Data": {
    "id":"{unique string}",
    "SubscriberKey" : "{Contact Key(=Subscriber Key)}"
  }
}' \
 'https://www.exacttargetapis.com/interaction/v1/events'

※events APIの場合はData.SubscriberKeyは入力しなくてもOK(ContactKeyで配信対象のContactが一意に決定する)ですが、ログの意味合いとしてSubscriberKeyをセットした方が良いと思います。

レスポンスはこんな感じのJSONで、送信結果の確認はこのeventInstanceIdとログを突き合わせる感じになります。

{"eventInstanceId":"5f3506a9-420b-4f6a-9f11-8afb2a7bb373"}
このエントリーをはてなブックマークに追加