Growth Messageのボタン押下時のアクションについて

Growth Messageでは、ボタン押下後の挙動(アクション)を管理画面から設定することができます。

アクションの追加は下記リンクを参照 

http://support.growthbeat.com/manual/growthmessage/#アクション追加

  • URLを開く
  • 何もしない
  • カスタム設定

この中の、カスタム設定を利用すると、アプリ独自の挙動を定義することが可能です。たとえば、アプリ内の画面遷移を引き起こすことができます。

カスタム設定の方法

カスタム設定では、管理画面でカスタムのJSONを設定し、それをアプリで受け取ってさまざまな処理をおこなうことができます。

例えば、下記のようなカスタムJSONを指定し、アプリ側にこのJSONにひもづく処理を実装すれば、「ボタンを押したときにショップ画面を開く」というようなことが可能です。

{"action":"open_view","view":"shop"}

アプリの実装

SDKには、IntentHandler (iOSでは、GBIntentHandler)というインタフェースが定義されており、この実装でカスタム設定の挙動を実装することができます。

たとえば下記のような形で実装できます。

List intentHandlers = new ArrayList();
intentHandlers.add(new UrlIntentHandler(GrowthbeatCore.getInstance().getContext()));
intentHandlers.add(new NoopIntentHandler());
intentHandlers.add(new IntentHandler() {
    public boolean handle(com.growthbeat.model.Intent intent) {
        if (intent.getType() != com.growthbeat.model.Intent.Type.custom)
            return false;
        Map<String, String> extra = ((CustomIntent) intent).getExtra();
 
        if (extra.get("action") == null || !extra.get("action").equals("open_view"))
            return false;
        String view = extra.get("view");
 
        // TODO viewに対応する画面を開く処理
 
        return true;
    }
});
GrowthbeatCore.getInstance().setIntentHandlers(intentHandlers);			

管理画面の設定

管理画面の「アクション一覧」では、特定の画面を開くアクションを追加します。

管理画面からは、下記のように設定することで特定の画面を開くことができます。

キー
action open_view
view view_x