ヘルプセンター/詳細を表示/

[Android]Admob Custom Event for Pangle

AdMob Custom Event Adapter for Pangle

アプリに Admobの導入を完了してください。

Pangleプラットフォームのセットアップ

Pangleアカウントを作成

Pangleでアプリケーションとプレースメントを作成

  • Apps -> + Add App をクリックして、メディエーション用のアプリを作成します。


    create-app-home.png

create-app.png

  • app ID付いたアプリが作成されます。


    app-id.png

広告プレースメントを作成する

  • Ad Placements -> + Add Ad Placementをクリックして、メディエーション用のアプリに属するプレースメントを作成します。


    create-placement.png

  • 広告の種類を選択して、作成を完了します


    ad-type.png

  • placement ID付きのプレースメントが作成されます。


    placement-id.png

AdMobのメディエーションにPangleを追加

メディエーションを作成

  • Mediation -> CREATE MEDIATION GROUP をクリックして、メディエーショングループを作成します。


    add-mediation.png

  • Pangle側で作成したものと同じ広告フォーマットを選択します。


    ad-format.png

  • メディエーション用のAdmob広告ユニットを選択したら、ADD CUSTOM EVENTをクリックしてPangleで設定します。


    add-custom-event.png

Class NameとParameterを設定

メディエーションの設定にてClass NameParameter を設定します。



mediation-param.png

Class Name

gradle を利用する場合、各広告タイプに対応する記載をそのまま Class Nameにコピーしてください。

広告タイプ Class Name
動画リワード広告 com.google.ads.mediation.sample.customevent.adapter.AdmobRewardVideoAdapter
インタースティシャル(フルスクリーン動画)広告 com.google.ads.mediation.sample.customevent.adapter.AdmobFullScreenVideoAdapter
バナー広告 com.google.ads.mediation.sample.customevent.adapter.AdmobTemplateBannerAdapter
ネイティブ広告 com.google.ads.mediation.sample.customevent.adapter.AdmobNativeFeedAdAdapter

手動導入時に、Adapterのpackage name + adapterのclass nameをメディエーション上のClass Name枠に追加します。

  • Class Name: [package].[adapter], 例:com.bytedance.pangle.admob.adapter.demo.pangle.adapter.AdmobRewardVideoAdapter
広告タイプ adapterのclass name (必ずpackageもClass Nameに記載 )
動画リワード広告 AdmobRewardVideoAdapter
インタースティシャル(フルスクリーン動画)広告 AdmobFullScreenVideoAdapter
バナー広告 AdmobTemplateBannerAdapter
ネイティブ広告 AdmobNativeFeedAdAdapter



class-name.png

Parameter

{"placementID":"your slotID"}Parameter枠に追加します。

  • Parameter: {"placementID":"your placement ID on Pangle"}のJSON形式, 例:{"placementID":"1234567"}

  • 必ずJSON形式でパラメータを設定してください。または、アダプターを自分でカスタマイズする必要があります。

Pangle SDKとAdapterの導入と初期化

Pangle SDKの導入と初期化

プロジェクトレベルのbuild.gradleallprojectsセクションのmavenにurl 'https://artifact.bytedance.com/repository/pangle'を追加します。

allprojects {
    repositories {
      maven {
        url 'https://artifact.bytedance.com/repository/pangle'
      }
    }
}

次に、アプリレベルのbuild.gradleを開き、dependencies セクションにimplementation 'com.pangle.global:ads-sdk:x.x.x.x' を追加します。
Android Advertising IDを使用するには、com.google.android.gms:play-services-ads-identifier を追加することもお勧めします。

dependencies {
    ...
    implementation 'com.pangle.global:ads-sdk:3.8.1.2'
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
    ...

}

アプリの AndroidManifest.xmlに次の権限とproviderを追加します。

:warning: 必ずproviderを追加してください。そうしないと、広告の読み込みが正しく機能しません。


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="xxxxxxxx">

    <!--Required  permissions-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- If there is a video ad and it is played with textureView, please be sure to add this, otherwise a black screen will appear -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <application
        ...
        <!--Required->
        <provider
            android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
            android:authorities="${applicationId}.TTMultiProvider"
            android:exported="false" />

        ...

    </application>

</manifest>

広告リクエストを送信する前に、TTAdSdk.init(final Context var0, final TTAdConfig var1, final TTAdSdk.InitCallback var2)を呼び出してSDKを初期化してください。
initは、アプリのライフサイクルごとに1回だけ呼び出す必要があります。これは、アプリの起動時に行うことを強くお勧めします。

初期化の結果はTTAdSdk.InitCallbackから通知されます。

動画広告に TextureView を使用する場合は、ビルダーで useTextureView(true)を設定し、マニフェストに WAKE_LOCK 権限を追加してください。

class PangleApplication: Application() {

    override fun onCreate() {
        super.onCreate()

        if (BuildConfig.DEBUG) {
            Timber.plant(Timber.DebugTree())
        }

        initSdk()
    }

    private fun initSdk() {
        TTAdSdk.init(this, buildAdConfig(), mInitCallback)
    }

    private val mInitCallback: TTAdSdk.InitCallback = object : TTAdSdk.InitCallback {
        override fun success() {
            Timber.d("init succeeded")
        }

        override fun fail(p0: Int, p1: String?) {
            Timber.d("init failed. reason = $p1")
        }
    }

    private fun buildAdConfig(): TTAdConfig {
        return TTAdConfig.Builder()
            // Please use your own appId,
            .appId("your_app_id")
            // Turn it on during the testing phase, you can troubleshoot with the log, remove it after launching the app
            .debug(BuildConfig.DEBUG)
            // The default setting is SurfaceView. We strongly recommend to set this to true.
            // If using TextureView to play the video, please set this and add "WAKE_LOCK" permission in manifest
            .useTextureView(true)
            // Fields to indicate whether you are a child or an adult ,0:adult ,1:child
            .coppa(0)
            .build()
    }

初期化結果はTTAdSdk.isInitSuccess()から確認できます。

private fun checkInitResult(): Boolean {
   return TTAdSdk.isInitSuccess()
}

手動導入や初期パラメータの設定などはSDKの導入
SDKの初期化をご参照ください。

Pangle Adaptersの導入

Gradle (推奨)

Adapter v1.4.0 からCocoaPodsよりの導入をサポートします。

アプリレベルのbuild.gradleを開き、dependencies セクションにimplementation 'com.pangle.global:adapter-for-admob:1.4.0' を追加すれば完了です。

手動導入

Pangleプラットフォームから、SDK Integration -> SDK downloadからアダプターファイルをダウンロードしてください。


mediation.png


adapter-download.png

圧縮ファイルを解凍後にandroid用のアダプターファイルをアプリに導入すればコードを変更せずに使用できます。また、ユースケースに合わせてカスタマイズすることもできます。

adapter-files.png

Demo

  • Demoから簡単な使用例を確認できます。
この答えは問題を解決しましたか?