すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ゲームでのIDマッピングのベストプラクティス

最終更新日:May 24, 2024

このトピックでは、PolarDB for AI演算子を使用してIDマッピングソリューションを作成する方法について説明します。

背景情報

IDマッピングは、アカウントIDやデバイスIDなどの情報を集約し、集約した情報をユーザに関連付け、ユーザにIDをユニークIDとして割り当てる。

ゲームシナリオでは、プレーヤは、ゲーム会社のプラットフォーム上に複数のアカウントを有することができ、この会社のゲームをホストする他のプラットフォーム上のアカウントを使用することができる。 これらのアカウントが互いに関連付けられていない場合、会社はこのプレーヤーの精密マーケティングを実行できません。 例えば、2つのゲームにおけるプレーヤのアカウントが関連付けられていない場合、ゲームaにおいてプレーヤによってサムダウンが与えられた広告は、プレーヤがゲームBをプレイしているときに再び表示される可能性がある。 この問題に対処するために、IDマッピングを使用してユーザー属性データを処理します。

IDマッピングソリューションの設計

ゲーム業界のIDは2つのカテゴリに分類されます。

  • アカウントID: ゲームプラットフォームのアカウント、ゲームのアカウント、電話番号、および電子メールアドレス。

  • デバイスID: デバイスIMEI、デバイスIMSI、デバイスOAID、およびAndroid ID。

  1. 基本情報テーブルを作成します。

    ID-マッピングは、2つの既存のタイプの情報テーブルを使用します。

    • ユーザーID、電話番号、メールアドレス、IDカード番号などのユーザー属性情報。

    • ゲーム内のログオン、購入、他のプレイヤーとのコミュニケーションなど、ユーザーの行動情報。

      ユーザー属性情報テーブル: user_infoテーブルはユーザー属性情報をリストします。

      説明

      plat_user_id

      ユーザー ID。 例: 0b887f9e1e915XXXX。

      phone_number

      ユーザーの電話番号です。

      email

      ユーザーのメールアドレスを指定します。 例: xxx@alibaba-inc.com。

      device_id

      ユーザーのメインデバイスのID。 例: 0b887fXXXX915e355。

      ユーザー行動情報テーブル: game_platform_infoテーブルは、ゲームプラットフォームへのログオン情報を記録します。

      説明

      device_id

      デバイス ID。 例: 0b887f9e1e915XXXX。

      android_id

      デバイスのAndroid ID。 例: 02bd2a91190c1a6406866302942f4XXXX。

      oaid

      デバイスのOAID。 例: 106ed9425b12664364a06c51aXXXX。

      ip

      IP アドレスです。 例: 182.XX. XX.146。

      ts

      タイムスタンプ。 例: 1647137327。

      user_id

      ユーザー ID。 例: 447268XXXX。

      ユーザー行動情報テーブル: game_infoテーブルには、ログインに使用されるアカウントの情報が記録されます。

      説明

      device_id

      デバイス ID。 例: 0b887f9e1e915XXXX。

      user_id

      ゲームアカウントのID。 例: 02bd2a91190c1a606866302942XXXX。

      ipv4

      IPv4アドレス。 例: 182.XX. XX.146。

      ipv6

      IPv6アドレス。 例: 240e:337:1026:XXXX:XXXX:a26d:4a34:920d。

      imei

      国際モバイル機器ID (IMEI) 。 例: 45ca53a497897c0b39f4373b0c14XXXX。

      idfa

      iOS用のIDFA。 例: 8301c9fcgg6a16fd3XXXX0e30e1854a78a。

      googleid

      Google広告ID。 例: f09adce39gr564c7f178bd9ebf64b9XXXX。

      android_id

      デバイスのAndroid ID。 例: a9d26756755rtr7b8faf6b2e0b6d414XXXX。

      説明

      このIDは、デバイスがフラッシュされた後に変わります。

      oaid

      デバイスのOAID。 例: 4aad25ea19rtr769fe84cc46244b2aeXXXX。

      timestamp

      タイムスタンプ。 例: 1647137327。

  2. IDアソシエーションを作成します。

    アカウント情報を関連付ける (Associate the account information)user_info.plat_user_id,game_platform_info.user_id、およびgame_info.user_id) とデバイス情報 (device_id,android_id,ip,imei,idfa,googleid、およびoaid) をテーブルに格納して、統一IDを生成します。

    説明

    同じ情報を含むが、テーブルによって名前が異なる列に注意してください。 たとえば、user_infoテーブルのplat_user_id列とgame_platform_infoテーブルのuser_id列には同じ情報が含まれています。 CREATE FEATURE文にSELECT plat_user_id as user_idを追加して、列のデータが一貫していることを確認できます。 さらに、異なる情報を含むが、異なるテーブルで名前が同じである列に注意してください。 たとえば、game_platform_infoテーブルのuser_id列には、game_infoテーブルのuser_id列とは異なる情報が含まれています。 追加できますSELECT... user_id as game_user_id...列のデータが分離されていることを確認します。

    1. 次のステートメントを実行して、oneIDという名前の機能を作成します。

      /* polar4ai */CREATE FEATURE oneID WITH ( feature_class = 'graph',parameters=()) AS (SELECT plat_user_id as user_id, device_id FROM user_info)
    2. 次のステートメントを実行して, 操作の状态を确认します。

      /* polar4ai * /ショー機能oneID;
      説明
      • 操作が完了した場合、FINISHEDが返されます。

      • 操作が完了していない場合は、FeaturePathに対してフィーチャの計算が完了するまでお待ちくださいが返されます。

    3. FINISHEDが返された場合は、次のステートメントを実行して機能を更新します。

      /* polar4ai */UPDATE FEATURE oneID WITH (parameters=()) AS (SELECT device_id, android_id,oaid,ip,user_id FROM game_platform_info)
    4. 次のステートメントを実行して, 操作の状态を确认します。

      /* polar4ai * /ショー機能oneID;
    5. FINISHEDが返された場合は、次のステートメントを実行して機能を更新します。

      /* polar4ai */UPDATE FEATURE oneID WITH (parameters=()) AS (SELECT device_id,user_id as game_user_id,ipv4 as ip,ipv6,imei,idfa,googleid,android_id,oaid FROM game_info)
  3. マッピングテーブルを生成します。

    次のステートメントを実行して、マッピングテーブルを生成します。

    /* polar4ai */CREATE FEATURE csg_1 WITH ( feature_class = 'connected_subgraph',parameters=())) USING FEATURE oneID

    次のステートメントを実行して, 操作の状态を确认します。

    /* polar4ai * /ショー機能csg_1;

    操作がFINISHED状態の場合、OSSパスがFeaturePathに返されます。 パスをブラウザにコピーして、ID-マッピング結果を表示できます。

  4. IDマッピングの結果を表示します。

    次の表で、columnは情報テーブルの列の名前、csg_idが関連付けられているサブグラフのID、valuecolumnの値を示します。

    csg_id

    0

    user_id

    user1

    0

    device_id

    device1

    0

    oaid

    oaid1

    1

    user_id

    user2

    1

    device_id

    device2

IDマッピングは、個別の情報にわたって関連性を構築する。 IDマッピングは、IDに関連するデータを処理するための基本的なステップです。ほとんどの場合、IDマッピングは、ユーザーのポートレートを作成するための基本的で最も重要なプロセスです。 IDマッピングによって生成されたデータは、さらなるデータ開発操作の基礎として機能します。

IDマッピングのその他のユースケース

ユーザー行動の強化

IDマッピングによって処理されたデータは、カスタム検索や推奨などの上位層サービスをより適切にサポートし、その効果を向上させます。 異なるアプリケーション上でのユーザの行動に関連するデータを集約することができる。 例えば、電子商取引のシナリオでは、オフラインおよびオンラインで買い物をするユーザに関するデータは、ユーザの好みに基づくより包括的な分析のために集約され得る。

悪意のあるグループの発見

eコマース業界では、クリック農業は厄介な問題です。 Click Farmerは、プラットフォーム上に複数のデバイスと複数のアカウントを持っており、それらを使用して、許可なくコミッションを獲得したり、限られたクーポンをスクランブルしたり、偽の肯定的なレビューを行ったりするなどの不正行為を行います。 それらはeコマースプラットフォームのエコシステムを弱体化させ、売り手と買い手にとって大きな問題です。 IDマッピングは、異なるIDを関連付けてアカウント例外を検出できます。 例えば、1つのデバイスが複数のアクティブなユーザIDを有するか、または1つのユーザIDが短期間に複数のデバイスIDを使用する。 関連アカウント間の対話は、悪意のあるグループを発見するためにも使用できる。

ユーザーポートレートを展開する

基本的なユーザデータおよび行動に基づいて生成されるユーザポートレートは、ブランドまたは製品カテゴリに対するユーザの好みなどの情報を提供することができる。 しかしながら、ユーザポートレートは、全てのユーザをカバーしない。 IDマッピングは、ID間の関係を検出し、ユーザー情報を補足してユーザーのポートレートを拡張できます。 例えば、IDが、製品カテゴリに対する選好を有し、家族の一員であるユーザに属する場合、家族の他のメンバのIDを発見することができ、それらの所有者は、同じ選好を有することができる。

広告ターゲティング

広告は、関心及びユーザのデバイスタイプに基づいて配信することができる。 例えば、プレーヤは、ゲームプラットフォーム上で複数のゲームをプレイするか、又は複数のデバイスを使用してゲームをプレイすることができる。 IDマッピングは、同じユーザの異なるゲームアカウントおよびデバイス情報を関連付け、デバイスおよびゲームにわたって広告するためにユーザをターゲットにする。 ユーザが異なるゲームをプレイするとき、または異なるデバイスを使用するとき、広告をユーザに示すことができる。 これは、ユーザの好みに基づいて単一のゲームで広告を送信するだけと比較して、より良い広告結果を提供するのに役立つ。