コンテンツにスキップ

ADOP用AdKit: C++

ADOP用AdKit(以下、ADOP用AdKit)は、ADOPのAPIを使用し、ADOPのガイドラインに従って開発された広告モジュールです。Hive SDKと共にAdKitを使用すると、ログデータがAnalyticsサーバーに送信され、広告の分析をスキップできます。

このガイドでは、Cocos C++を使用してADOPのためにAdKitを実装する方法を説明します。これにより、Hive SDKユーザーがC++開発環境でADOPを使用できるようになります。C++用のADOP向けAdKitは、iOSおよびAndroidプラットフォームで実行でき、各プラットフォームの設定方法はこのページで確認できます。

開発環境の作成

各プラットフォームのガイドに従って、AdKitを構成してください。

Android

SDKに埋め込まれたAdKitソースコードをビルドしてAdKitを使用します。Android Studio 4.2以降のバージョンを推奨します。

  1. ExternalNativeBuild

cmakeを使用して、CMakeList.txtファイルに以下のコードを追加します。

```cs
// 'CMakeList.txt'

set(HIVEADKIT_DIR_PATH ....../HIVEAdKit) #setup to HIVEAdKit path
#HIVEAdKit library import after add_library( MyGame ... )
add_subdirectory(${HIVEADKIT_DIR_PATH}) #HIVEAdKit library & macro load
use_hiveadkit_prebuilt(${HIVEADKIT_DIR_PATH} MyGame) #library import automatic macro to build target
```

build.gradleファイルに以下のコードを追加します。

```cs
apply from: '../../HIVEAdkit/adkit.gradle'

android {
...
sourceSets.main {
        java.srcDirs "src" , "../../HIVEAdKit/Android/java" // HIVEAdKit JavaPlugin ソースパス
}
...
}

```
  1. AndroidManifest.xmlファイルに、ca-app-pub-XXXXX~YYYYY形式のAdMobIdを追加します。

    <application>
    <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-XXXXX~YYYYY"/>
    </application>
    

iOS

SDKに埋め込まれたAdKitのソースコードをビルドして、AdKitを使用します。

  1. HIVEAdKit/srcおよびHIVEAdKit/includeフォルダーをXCodeプロジェクトにドラッグアンドドロップします。 * .cpp、.hpp、.mm拡張子のすべてのファイルを含めます。 * AdKitは実際の使用のためのブリッジパターンコードを提供します。

  2. HIVEAdKit/include/bidmadをプロジェクト > ビルド設定 > 検索パスに追加します。

  3. Unityビルドで生成されたXcodeプロジェクトのInfo.plistにGADApplicationIdentifierを追加し、AdMobIdを文字列型として、ca-app-pub-XXXXX~YYYYY形式で入力します。

    GADApplicationIdentifier
    ca-app-pub-XXXXX~YYYYY
    

    iOS 14以降では、Info.plistにSKAdNetworkItemsを追加します。

  4. CocoaPodsの設定に以下を追加します。

    platform :ios, '11.0'
    
       ターゲット 'MyGame-mobile' do
           use_frameworks! :linkage => :static
    
           pod 'BidmadSDK', '4.0.1.1'
           pod 'OpenBiddingHelper', '4.0.1.1'
           pod 'BidmadAdapterFNC/ForGame', '4.0.0.2'
           pod 'BidmadAdapterFC', '4.0.0.0'
    
       終わり
    
  5. 次のコマンドを実行してCocoaPodの設定を適用します。

    $pod install
    

使い方

ADOPでのテスト広告キー

ADOPが発行したテスト広告キーを使用することが必要です。

#if defined(ANDROID)
const char* rewardVideoId =      "7d9a2c9e-5755-4022-85f1-6d4fc79e4418";
const char* InterstitialAdId =   "e9acd7fc-a962-40e4-aaad-9feab1b4f821";
const char* AdaptiveBannerAdId = "944fe870-fa3a-4d1b-9cc2-38e50b2aed43";
#else// UNITY_IOS
const char* rewardVideoId =      "29e1ef67-98d2-47b3-9fa2-9192327dd75d";
const char* InterstitialAdId =   "228b95a9-6f42-46d8-a40d-60f17f751eb1";
const char* AdaptiveBannerAdId = "1c3e3085-333f-45af-8427-2810c26a72fc";
#endif

AdKitの初期化

あなたのアプリが欧州経済地域(EEA)および英国のユーザーを対象としている場合、GDPRの同意を取得する必要があります。Google AdMobのUserMessagingPlatformライブラリにアクセスし、同意を得るためのガイドに従ってください。

// When distributing common use
HIVEAdKit::GDPR::Setup(false, nullptr);
// When using GDPR test
HIVEAdKit::GDPR::Reset();
HIVEAdKit::GDPR::Setup(true, testDeviceId);

報酬広告

報酬広告は、一定の時間ビデオを視聴したユーザーに報酬を与え、1回に1つの広告を読み込むことができます。

// Create RewardVideoAd Instance
auto rewardVideo = HIVEAdKit::RewardVideo::Initialize(rewardVideoId, this);
// Load RewardVideoAd
HIVEAdKit::RewardVideo::Load(*rewardVideo, "RewardVideo-Load-AdPlacementInfo");
// Show RewardVideoAd
if( HIVEAdKit::RewardVideo::IsLoaded(*rewardVideo) ) {
   HIVEAdKit::RewardVideo::Show(*rewardVideo, "RewardVideo-Show-AdPlacementInfo");
}

インタースティシャル広告

インタースティシャル広告は、ゲームのインターフェースを覆うフルスクリーン広告です。

// Create InterstitialAd Instance                                               
auto interstitial = HIVEAdKit::Interstitial::Initialize(InterstitialAdId, this);
// Load InterstitialAd
HIVEAdKit::Interstitial::Load(*interstitial, "Interstitial-Load-AdPlacementInfo");
// Show InterstitialAd
if( HIVEAdKit::Interstitial::IsLoaded(*interstitial) ) {
   HIVEAdKit::Interstitial::Show(*interstitial, "Interstitial-Show-AdPlacementInfo");
}

アダプティブバナー広告

アダプティブバナー広告は、画面上の位置を占めるロールバナーの一種です。バナーの位置はyPos値で調整可能です。

// Create AdaptiveBanner Instance
auto adaptiveBanner = HIVEAdKit::AdaptiveBanner::Initialize(AdaptiveBannerAdId, this, yPos);
// Load AdaptiveBanner
HIVEAdKit::AdaptiveBanner::Load(*adaptiveBanner, "Banner-Load-AdPlacementInfo");
// Show AdaptiveBanner
HIVEAdKit::AdaptiveBanner::Show(*adaptiveBanner, "Banner-Show-AdPlacementInfo");
// Hide AdaptiveBanner
HIVEAdKit::AdaptiveBanner::Hide(*adaptiveBanner);

テスト広告

開発中にテスト広告がクリックされたときに広告主が料金を請求されないことは重要です。テストモード以外で広告をクリックしすぎると、それは無効なアクションと見なされます。したがって、報告対象のアカウントにならないように注意してください。

テスト広告を使用するには、Google Developersを参照してください。