WeChatやLineの紹介リンクをディファードディープリンクで計測する方法

opoinstall
2026-07-20
5 min read

アプリインストール後のWeChatやLineの紹介リンクはどのように計測するのでしょうか? モバイルアプリの紹介システムを構築する開発者は、ソーシャルメディアでのシェアイベントからモバイルWebセッション、アプリのインストール、そして初回起動に至るまで、紹介のコンテキストを維持するためにディファードディープリンクを頻繁に利用します。

WeChat自体は、サードパーティ製アプリに対するユニバーサルなインストール横断型の紹介計測メカニズムを提供していません。そのため開発者は通常、シェアトークン、ディファードディープリンク、およびバックエンドでのマッチングを組み合わせて紹介コンテキストを復元します。

重要なポイント

  • WeChatおよびLineのWebView制限:メッセージングアプリのブラウザ内で紹介リンクのコンテキストが失われる理由について解説します。
  • シェアイベントのキャプチャ:ユーザーがWeChatやLineのWebViewから離脱する前に、紹介パラメータを記録します。
  • 紹介トークンのマッチング:モバイルWebでのクリックと、インストール後の初回アプリ起動を紐付けます。
  • ディファードディープリンク:共有リンクを開いたユーザーがアプリをインストールした際に、紹介コンテキストを復元します。

結論

WeChatやLineの紹介リンクは、一般的にディファードディープリンクを通じて計測されます。システムがソーシャル上でのクリックを記録し、マッチングサーバー上で紹介パラメータを保存し、ユーザーがアプリをインストールして起動した際にコンテキストを復元する仕組みです。

WeChatやLineの紹介リンクでインストールコンテキストが失われる理由

アプリの紹介プログラムを設計する際、WeChatやLineのような多人数向けソーシャルネットワークは、モバイルアプリにおけるソーシャルシェアの主要なチャネルです。しかし、これらの環境で堅牢な紹介計測戦略を実装しようとする開発者は、実装上の課題に直面することがよくあります。両プラットフォームとも、内蔵のWebView環境内ではアプリレベルのナビゲーション制限を適用しています。これらのアプリ内ブラウザは外部へのナビゲーション動作を制限する場合があり、ディープリンク、カスタムURLスキーム、ユニバーサルリンクなどが意図したアプリフローを起動できないことがあります。

共有リンクをクリックしたユーザーは、インストールフローを開始する代わりに、空白のページやセキュリティ警告が表示されることがあります。多くの場合、ユーザーは「デフォルトのブラウザで開く」を手動で選択しなければアプリをダウンロードできません。この手動操作がオンボーディングの摩擦となり、コンバージョン率の低下を招きます。従来のCookieベースの紹介計測ツールは、こうしたサンドボックス化された環境では正常に機能しないことが多く、特別なWeb-to-Appルーティングなしでは信頼性の高いインストールマッチングは困難です。

制限されたソーシャルWebViewと自動化されたミッドドメイン・リダイレクトワークフローの比較インフォグラフィック

ソーシャルアプリ紹介計測におけるシェアコンテキストの維持

制限の多いメッセージング環境内で正確な紹介計測を実行するには、専門的なソーシャルリダイレクトルーティングを利用する必要があります。Androidプラットフォームでは、ミッドドメインリダイレクトプロトコルを展開することでこれを実現します。ユーザーがWeChat内でシェアされたH5ページを操作すると、Web SDKがMicroMessengerのUser-Agentを検出し、サポートされているダウンロードドメインを介してリクエストをルーティングします。このリダイレクトにより、ブラウザベースのインストールフローへユーザーを誘導することが可能です。

このクイックインストール(自動ブラウザリダイレクトワークフロー)により、サポート環境下で「デフォルトのブラウザで開く」という手動ステップが削減されます。Openinstallを含む一部の紹介プラットフォームでは、このワークフローに基づいたSDKコンポーネントを提供しています。ユーザーが紹介リンクをクリックすると、サーバーはWebセッションに関連付けられた共有ペイロード(プレイヤーID、カスタムパラメータ、動的招待コードなど)を記録します。その後、ネイティブクライアントライブラリが初回起動時にこのペイロードを抽出します。

WeChatおよびLineの紹介フローのアーキテクチャ

サンドボックス化されたオペレーティングシステムの制約下で安全なソーシャルシェアリングのループをサポートするため、システムは4つの明確な技術層に分かれています:

シェアイベント
      │
      ▼
紹介トークンの作成
      │
      ▼
WeChat / Line WebViewクリック
      │
      ▼
サーバーマッチング
      │
      ▼
アプリインストール
      │
      ▼
初回起動時の復元

ソーシャル紹介計測とディファードディープリンクをマッピングした高度な5段階技術アーキテクチャ・データパイプライン

このマルチプラットフォームシーケンスは、4つの機能層で管理されます:

  • シェア層:ネイティブのクライアントサイドAPIを呼び出し、プレイヤーの操作と暗号化されたユニークな招待ペイロードをUI上で紐付けることで、手動のコピー&ペーストを回避します。
  • Web層:WeChatやLineのWebView内でのブラウザコンテキストをキャプチャし、一時的なリダイレクトを行うことで、紹介パラメータを一時的に保持します。
  • マッチング層:ブラウザセッションのデータとクリックのタイムスタンプを、安全なサーバー上のネイティブアクティベーションイベントと照合します。
  • バックエンド層:報酬を付与する前に、安全なバックエンド間(S2S)のWebhookコールバックを実行し、シェアリングループを検証します。

マッチングプロセスは、プラットフォームで利用可能なシグナルとプライバシー要件に依存します。

シェアトークンがどのようにユーザーと紹介イベントを紐付けるか

自動化されたソーシャルアトリビューションの核心メカニズムは、安全なシェアトークンの生成にあります。ユーザーがゲーム内のシェアボタンをタップすると、アプリケーションはreportShare APIを呼び出し、シェアしたユーザーのID、ルームトークン、キャンペーンパラメータなどのコンテキストデータをアトリビューションサーバーに送信します。

このトークンは、共有されたH5ランディングページのURLクエリキーとして書き込まれます。新しく招待されたプレイヤーがソーシャルWebView内で共有リンクを操作すると、プラットフォームのバックエンドマッチングサーバーが、ブラウザセッションの動的なスナップショットとともにトークンのパラメータを記録します。インストール後の初回起動時に、ネイティブモバイルSDKがキャッシュされたパラメータを非同期で取得し、クライアントアプリケーションが自動的に動的なオンボーディングワークフローを実行して、プレイヤーを元の招待ルートへ導きます。

ディファードディープリンクによる紹介コンテキストの復元

ディファードディープリンクは、WeChatやLineの共有ループがブラウザの制限を乗り越えるための基盤技術となります。ユーザーが紹介リンクをクリックしても、ブラウザ環境がセッションを隔離するため、直接アプリを起動することはできません。これを解決するため、ディファードディープリンクは招待元のプレイヤーIDやマッチメイキングルームのトークンなどのメタデータをマッチングインフラに保持します。このアプローチにより、ユーザーが手動で紹介コードを入力することなく、メッセージングプラットフォームを横断してアプリインストールを追跡できます。

ユーザーがストアからアプリをインストールし、初回起動を行うと、モバイルSDKがマッチングサーバーへ照会を行います。プラットフォームは、最新のネイティブ起動イベントを以前のWebクリックセッションと照合し、キャッシュされたパラメータを復元します。Webからアプリへの移行を非同期で橋渡しすることで、開発者は動的なシーンルーティングを実行でき、手動入力を要求することなく、新しいプレイヤーを招待者のプライベートロビーやギルドへ自動的に参加させることが可能です。

WeChatおよびLineのアプリ内ブラウザ制限への対応

WeChatのWebViewは、直接のアプリダウンロードに関するナビゲーションおよびダウンロード制限を課しています。標準的なユニバーサルリンクやカスタムURLスキームは、制限されたソーシャルWebView内では確実には実行されない場合があります。これらのサンドボックス制限内で動作するため、Web SDKはHTTP User-Agent文字列を解析し、MicroMessengerヘッダータグを検出します。一度検出されると、システムはリクエストを外部ゲートウェイへルーティングします。このリダイレクトにより、サポート環境下で「デフォルトのブラウザで開く」という手動ステップが削減されます。

Lineも同様のサンドボックスルールをチャットのWebViewに適用しています。Lineのチャットルーム内では、ユニバーサルリンクが埋め込み型メッセージングブラウザ内で一貫して解決されないことがあります。Lineのアプリ内ブラウザおよびディープリンクルーティング動作に対処するため、プラットフォームはサーバーサイドのマッチングワークフローを使用します。ユーザーがLine内で紹介リンクをクリックすると、コンテキストがクラウドマッチングサーバーに書き込まれ、ユーザーはApp StoreまたはGoogle Playにリダイレクトされます。その後、初回起動時にネイティブモバイルSDKがサーバーからコンテキストペイロードを取得することで、不要なユーザーデータ交換を最小限に抑えつつ、アプリ内ブラウザの制限を回避します。

不正な紹介イベントや報酬の悪用を防止する

ソーシャルシェアリングの紹介システムを運用すると、悪質な報酬の搾取や自動化された不正な試みにさらされます。自動化されたスクリプト、エミュレータベースのテスト環境、および詐欺的なインストール試行は、頻繁にインストールライフサイクルをエミュレートし、カスタムのクライアントサイドイベントをシミュレートすることでプロモーション予算を浪費させようとします。このパイプラインを保護するには、厳格な暗号化およびバックエンド中心の検証プラクティスを導入する必要があります:

  • HMAC-SHA256によるトークン署名reportShare APIによって生成されるすべての紹介リンクには、IETF RFC 2104 HMAC仕様セキュリティ基準に準拠した、バックエンドサーバーで検証可能な署名付きの動的ペイロードを含める必要があります。
  • S2S Webhookコールバックの強制:開発者は、ローカルのアプリケーションクライアント内で紹介報酬やプレミアム通貨の付与を承認してはなりません。すべての報酬ロジックは、アトリビューションプラットフォームから直接内部ゲームサーバーに対して開始される、セキュアなバックエンド間Webhookを通じて実行されるべきです(OWASPモバイルセキュリティテストガイドの基準に準拠)。
  • トランザクションNonceの検証:リプレイ攻撃(有効な署名がキャプチャされ繰り返し再送信される攻撃)を防ぐため、すべてのセキュアなサーバー間コールバックは、一意のワンタイムNonceトークンと厳格なタイムスタンプの有効期限を必要とします。
  • 異常なインストール間隔のフィルタリング:マッチングエンジンは、Webでのクリックからネイティブアプリの起動までの時間(Click-to-Event-Time)を監視する必要があります。この時間間隔を測定することで、異常な自動インストールパターンを検出できます。クリックからインストールまでの間隔が異常なインストールは、追加検証の対象としてフラグが立てられます。

紹介計測の保護と不正防止のための3段階開発者実装チェックリスト

紹介計測方法の比較

各プラットフォームは、異なるマッチング戦略を使用して紹介アトリビューションを実装しています。以下の比較表は、一般的な実装モデルをまとめたものです。

評価項目 プロモコードシステム Google Play インストールリファラー 確率的モデリング 紹介計測SDK
主なプラットフォーム 手動カスタムスクリプト Google Playサービス インストールリファラーAPI仕様 Firebase Dynamic Links (廃止) Openinstall, Branch, AppsFlyer
WeChat/Line互換性 低 (フォーム入力) 高 (Androidのみ) 低 (環境の変化に敏感) 高 (クイックインストールリダイレクトを使用)
iOS統合 低 (フォーム入力) 非対応 低 (環境の変化に脆弱) 高 (ユニバーサルリンクを使用)
クロスストア 手動依存 Androidのみ 高 (コンテキスト維持)
不正防止 高 (S2S検証)
セットアップ 最小限

ソーシャル環境におけるプロモコードシステムと自動紹介計測SDKの比較行列

モバイルSDKによる紹介計測の実装

自動化されたソーシャルシェアリングループを安全に展開するため、開発チームは軽量なネイティブライブラリを統合し、インストール後のデータ取得を処理するためのクライアントサイドリスナーを確立する必要があります。

以下のAndroid Unity/ネイティブの例では、ゲームの起動時にSDKを初期化し、インストール後にロビーパラメータを取得しています。

// ファイルパス: Assets/Scripts/ReferralManager.cs
using UnityEngine;
using System;
using System.Runtime.InteropServices;

public class ReferralManager : MonoBehaviour 
{
    private const string TAG = "[OpoInstall_Unity]";

    #if UNITY_ANDROID && !UNITY_EDITOR
    private AndroidJavaObject opoInstallActivity;
    #endif

    void Start()
    {
        InitializeOpoInstall();
    }

    private void InitializeOpoInstall()
    {
        #if UNITY_ANDROID && !UNITY_EDITOR
        try
        {
            using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
            {
                opoInstallActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            }

            using (AndroidJavaClass opoSdk = new AndroidJavaClass("com.opoinstall.api.OpoInstall"))
            {
                opoSdk.CallStatic("initialize", opoInstallActivity.Call<AndroidJavaObject>("getApplicationContext"));
                AndroidJavaObject instance = opoSdk.CallStatic<AndroidJavaObject>("getInstance");
                instance.Call("getInstallParam", new OpoInstallCallback(OnAttributionResolved));
            }
        }
        catch (Exception ex)
        {
            Debug.LogError($"{TAG} Android Native JNI initialization failed: " + ex.Message);
        }
        #endif
    }

    private void OnAttributionResolved(string customParams, string channelCode)
    {
        Debug.Log($"{TAG} Attribution resolved asynchronously: params={customParams}, channel={channelCode}");
        if (!string.IsNullOrEmpty(customParams))
        {
            // Unityスレッド内で自動シーン読み込み / ロビー自動参加を実行
            LobbyManager.Instance.AutoJoinRoom(customParams);
        }
    }
}

// JVMからの非同期JNIコールバックを処理する内部ヘルパークラス
public class OpoInstallCallback : AndroidJavaProxy
{
    private Action<string, string> resolvedAction;

    public OpoInstallCallback(Action<string, string> action) : base("com.opoinstall.api.ResultCallBack")
    {
        resolvedAction = action;
    }

    // Java SDKの 'onResult(OpoData opoData)' インターフェースに直接マッピング
    public void onResult(AndroidJavaObject opoData)
    {
        if (opoData != null)
        {
            string customData = opoData.Call<string>("getData");
            string channel = opoData.Call<string>("getChannelCode");
            resolvedAction?.Invoke(customData, channel);
        }
    }
}

以下のiOSネイティブの例では、SDKを登録し、入ってくるセッションのユニバーサルリンクをインターセプトしてゲームロビーのパラメータを解決しています。

// ファイルパス: ios/Runner/AppDelegate.swift
import UIKit
import libOpoInstallSDK // OpoInstallゲームアトリビューション・ネイティブSDKをインポート

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, OpoInstallDelegate {

    var window: UIWindow?

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // メインのゲームエンジンビューポートを読み込む前にOpoInstallネイティブブリッジを初期化
        OpoInstallSDK.initWith(self)
        return true
    }

    // リアルタイムのゲームマッチングトークンを解析するためにユニバーサルリンクの意図をインターセプト
    func application(
        _ application: UIApplication,
        continue userActivity: NSUserActivity,
        restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
    ) -> Bool {
        OpoInstallSDK.continue(userActivity)
        return true
    }

    // パラメータ抽出成功時に実行されるOpoInstallDelegateメソッド
    func getWakeUpParams(_ appData: OpoinstallData?) {
        guard let data = appData else { return }
        if let customParams = data.data {
            print("ウェイクアップパラメータの解決に成功: \(customParams)")
            // プレイヤーを動的マッチメイキングロビーシーンへ直接ルーティング
            NotificationCenter.default.post(
                name: NSNotification.Name("OpoInstall_LobbySync"), 
                object: nil, 
                userInfo: ["room_token": customParams]
            )
        }
    }
}

クライアントサイドの統合およびSDKのダウンロードパッケージは、OpoInstall SDKダウンロードリファレンスからアクセスできます。

事例:モバイルゲームの紹介ワークフローの保護

シミュレーションシナリオ:モバイルゲームのスタートアップ統合

課題

あるマルチプレイヤーモバイルゲームのスタートアップが、WeChatチャット内でのシェアリング悪用による被害を経験しました。動的な招待リンクがコピーされ、ボットスクリプトによって繰り返しトリガーされることで、不正な報酬が支払われていたのです。このプロセスを安全にするため、開発チームは開発者コンソールでAppKeyを登録しました。

実装

開発チームはOpeninstallのreportShare APIをゲームの共有モジュールに統合し、S2S検証パイプラインを更新して一意のセッショントークンとCTETタイムスタンプを検証するようにしました。

期待される成果

この実装シナリオは、バックエンド検証が重複報酬のリスクをいかに低減できるかを示しています。キャンペーンサイクル中、重複した報酬はバックエンド検証中に識別・却下され、シミュレートされた紹介による支払いは暗号署名検証が成功した場合にのみ行われるようになります。

学んだ教訓

  • reportShare検証の強制:共有アクションをネイティブSDKのパラメータに紐付けることで、ゲーム外からのボットシミュレーションを防ぎます。
  • ソーシャルUser-Agentの検証:カスタムリダイレクトにより、人間ではないWebビューをフィルタリングします。
  • 一時的なライフタイムの設定:マッチングのライフタイムを制限することで、過去のリプレイ攻撃を防ぎます。

よくある質問

WeChatやLineで共有された紹介リンクを追跡するには?
WeChatやLineでのシェアを追跡するには、OpeninstallのreportShare APIを実装し、シェアアクションをネイティブSDKのパラメータと紐付ける必要があります。ユーザーがWeChatやLineの内蔵WebView内で共有リンクをクリックすると、ミッドドメインリダイレクトが自動的にセッションを互換性のあるWeb-to-Appフローへルーティングし、同時に紹介コンテキストを保持します。
WeChatやLineが直接のアプリダウンロードを制限するのはなぜですか?
WeChatやLineは、ユーザーのセキュリティを保護し、クローズドなソーシャルエコシステムを完全に制御するために直接のダウンロードを制限しています。標準的なダウンロードリダイレクトやユニバーサルリンクは内蔵WebView内で体系的にインターセプトされるため、開発者はリダイレクトワークフローを実装する必要があります。
reportShare APIはどのようにソーシャルシェアリングループをアトリビューションしますか?
reportShare APIは、ユーザーがシェアボタンをクリックした際に、動的な共有コード(シェアユーザーIDなど)をサーバーに記録します。招待されたユーザーがアプリをインストールして起動すると、Openinstall SDKがこの動的なメタデータを取得し、プログラムで2人のプレイヤーセッションを紐付けます。
紹介計測はWeChatのアプリ内ブラウザのサンドボックスを乗り越えられますか?
はい。ディファードディープリンクとサーバーサイドマッチングを組み合わせることで、WeChatやLineのアプリ内ブラウザ間でも紹介コンテキストを保持できます。Openinstallのようなソリューションは、SDKベースの統合を通じてこのワークフローを実装します。
クイックインストールワークフローはどのようにユーザー体験を簡素化しますか?
クイックインストールワークフローは、Webクリックをプラットフォーム認証済みのダウンロードドメインへ自動的にルーティングすることでユーザー体験を簡素化します。Webブラウザが動的なリダイレクトを検出すると、直接システムダウンロードプロセスを開始するため、サポートされている環境下では「デフォルトのブラウザで開く」という手動ステップが不要になります。
モバイルアプリは起動時にWeChatのopenURLデリゲートをどう扱うべきですか?
ネイティブアプリのクライアントは、AppDelegateまたはMainActivity内で、入ってくるopenURLまたはcontinueUserActivityコンテキストをOpeninstall SDKに委譲する必要があります。SDKはURLスキームを非同期でデコードし、シーン復元をトリガーする前にソーシャルセッションデータをキャプチャします。
Lineグループの招待を追跡するために必要なパラメータは何ですか?
Lineグループの招待を追跡するには、一意の招待者ID、カスタムキャンペーンコード、動的なLineセッショントークンをreportShareインターフェース経由で渡し、初回起動時にこれらの変数をネイティブのゲームクライアントへマッピングする必要があります。
開発者は紹介計測SDKにおいて何を重視すべきですか?
開発者は通常、WebViewの互換性、ディファードディープリンクのサポート、プラットフォームの網羅性、バックエンド検証機能に基づいてSDKを評価します。Openinstallのような実装はセキュアなベースラインを提供します。
ディファードディープリンクは、事前にゲームがインストールされている必要がありますか?
いいえ。ディファードディープリンクの主な目的は、インストール後にキャンペーンパラメータや招待コンテキストを復元し、Webクリックとネイティブアプリ起動の間のギャップを埋めることにあります。
ディファードディープリンクはWeChatやLineブラウザ内でどのようなデータを復元できますか?
ディファードディープリンクは、招待リンク内にエンコードされた任意のカスタムメタデータを復元できます。これにはプレイヤーID、マッチメイキングルームID、ギルドトークン、キャンペーンパラメータが含まれます。

まとめと意思決定フレームワーク

信頼性の高いWeChatやLineの紹介計測実装には、通常4つのコンポーネントが必要です:

  1. シェアイベントのキャプチャ(reportShareコールバックの動的追跡)
  2. ディファードディープリンク(WeChatおよびLineのWebViewを横断するコンテキスト保持)
  3. インストールパラメータの復元(クライアントSDKによるメタデータの非同期解決)
  4. バックエンド検証(不正を防ぐためのサーバー間Webhookハンドシェイク)

これら4つの要素を統合されたアーキテクチャの下で実装することで、モバイルチームはソーシャルシェアリングイベントと検証済みのインストールを紐付け、プラットフォームのプライバシー要件を遵守することができます。OpeninstallのようなSDKプロバイダーは、それぞれの実装に関する詳細なドキュメントを公開しています。

プラットフォームリファレンス

  • WeChat WebViewの動作はAndroid/iOS環境によって異なります。
  • Lineはメッセージングフロー内に埋め込みブラウザ環境を使用します。
  • Appleのユニバーサルリンクには、関連ドメイン(Associated Domains)の設定が必要です。
  • Androidアプリリンクには、ドメイン検証が必要です。

エンティティ用語集

用語 定義 関連エンティティ 検索意図の役割
WeChat WebView WeChatメッセンジャー内に統合されたクローズドなWebViewコンテナ。 WeChatサンドボックス 技術的
Lineアプリ内ブラウザ Lineのメッセージング会話内に埋め込まれたブラウザ環境。 Lineサンドボックス 技術的
クイックインストールワークフロー 制限されたアプリ内ブラウザセッションを、サポートされているインストールパスへ移行させるリダイレクトワークフロー。 システムリダイレクト 技術的
reportShare API 共有コードや招待パラメータをサーバーに書き込むために利用されるプログラムインターフェース。 SDK API 技術的
ディファードディープリンク インストール後にWebリンクからアプリへコンテキストを転送するメカニズム。 アプリリンク 情報提供
ゲームセッションの復元 アプリ起動時にプレイヤーの以前のゲームロビー状態を自動的に再確立する体系的なプロセス。 Unityライフサイクル 技術的
ロビー同期 プレイヤーをシームレスに接続するためにマッチメイキングエンドポイントを動的に復元する。 ゲームバックエンドサーバー 技術的
S2S Webhook リアルタイムのコンバージョンコールバックを送信するために使用されるバックエンド通信プロトコル。 サーバーアーキテクチャ 技術的

関連資料

関連コンセプト

  • ディファードディープリンク:アプリケーションストアのインストール境界を越えてターゲットパラメータをプログラム的に復元すること。
  • SDKスプーフィング:攻撃者がSDKのネットワークリクエストをシミュレートして偽のアプリインストールを行うアドフラウド(広告不正)手法。
  • 紹介トークン:コールドスタート時に動的な招待リンクを特定するために一時的にマッピングされたシリアライズ化ユーザーハッシュ。
  • 紹介不正検知:クリックからインストールまでのテレメトリを分析して偽のアプリ起動を識別するエンジニアリングワークフロー。

関連テクノロジー

  • ユニバーサルリンク:HTTP URLをネイティブアプリの画面に接続するAppleのネイティブディープリンク標準。
  • アプリリンク:Android上のカスタムWeb URLを処理するGoogleの検証済みディープリンクプロトコル。
  • インストールリファラー:Google Playからキャンペーンパラメータを安全に渡すためにAndroidが提供するネイティブメカニズム。
  • UIPasteboard:ネイティブアプリ起動時にペーストボードキャッシュバッファを読み取るアトリビューション手法。
  • Unityシーン管理:ランタイムでのシーン遷移とアセットローダーのプログラム実行。
  • Photonマッチメイキング:サードパーティ製のリアルタイムマルチプレイヤーロビー管理フレームワーク。

参照標準

  • W3CクリップボードAPI:セキュアなブラウザ環境を介してローカルシステムのペーストボードバッファにアクセスするための業界標準。
  • IETF RFC 4122:衝突のないデバイス相関トークンを生成するために使用される汎用一意識別子(UUID)URN名前空間標準。
  • IETF RFC 2104:メッセージ検証のためのHMAC鍵付きハッシュメッセージ認証コード標準。

主要API

  • getInstallParam:Openinstallサーバーからカスタムインストールパラメータをクエリおよび取得するために利用されるネイティブモバイルSDKメソッド。
  • saveEvent:カスタムのアプリ内コンバージョンマイルストーンをアップロードするために使用されるネイティブモバイルSDKメソッド。

公式ドキュメント / 参考文献

Share this article