コンテンツにスキップ

一歩進んだ使い方

独自のイベントを送信する

ボタンを押したタイミングなどでアプリケーション独自のイベントを送信することができます。

emitメソッドを使って、イベントを送信します。

// 通常、load イベント発生後に処理をしないと、fanship 変数が初期化されていません。
window.addEventListener('load', function() {
    // イベント名のみ送信する場合
    fanship.events.emit('shop.addCart');

    // プロパティやコールバック関数の組込例
    fanship.events.emit('shop.addCart', {
        itemId: '100',
    }, function (err) {
       if (err !== null) {
          console.log(err);
       }
    });
});

イベント名、プロパティ、コールバック関数を指定できます。

  • 第一引数にイベント名をstring型で指定します。
    • この項目は必須です。
    • イベント名は、英数字([a-zA-Z0-9])、アンダースコア(_)、ピリオド(.)、ハイフン(-)のみ使用できます。
    • イベント名の先頭にアンダースコア(_)は使用できません。
    • イベント名について、Android、iOSそれぞれで異なる文字制限はありません。
  • 第二引数にプロパティをオブジェクトの形式で指定できます。
    • この項目は必須ではありません。
    • キーと値はそれぞれstring型で指定する必要があります。
    • キーと値の合計文字数は2,048文字以下である必要があります。
      • 例. {"key1:"value1", "key2":"value2"}を指定する場合、"key1=value1&key2=value2"の文字数が2,048文字以下である必要があります。
      • 合計文字数が超過している場合はイベントが送信されません。
    • キーと値について、Android、iOSそれぞれで異なる文字制限はありません。
  • 第三引数にコールバック関数を指定できます。
    • この項目は必須ではありません。
    • コールバック関数の第一引数にはエラーが入ります。
      • 送信成功した場合には、nullが入ります。

Warning

例に示すように、コンテンツの読み込みの完了後にイベント送信が行われるよう、組み込みの際にはご注意ください。
コンテンツの読み込みが完了する前にURLの書き換え(window.location.replaceなど)を行うと、 loadイベントが発生せずイベントトラッキングが正常に動作しない可能性があります。