このページでは、AppLovin React Nativeモジュールのダウンロード、インポート、および設定方法について説明します。
React Nativeモジュールのバージョン 5 には、Promiseとコールバックをサポートするための大幅なアップグレードが含まれています。 このアップグレードにより、後方互換性が失われます。 変更内容の概要については、後述の React Native v5 移行ガイド を参照してください。
React Nativeモジュールのバージョン 6 には、TypeScriptとモジュールをサポートするための大幅なアップデートが含まれています。 TypeScriptは、React Nativeバージョン0.71以降、React Nativeのデフォルトのアプリケーションプログラミング言語となっています。 このモジュールのアップグレードにより、後方互換性が失われます。 変更内容の概要については、後述の React Native v6 移行ガイド を参照してください。
React Nativeモジュールのバージョン 9 では、React Nativeの新しいアーキテクチャ のサポートが導入されています。 既存のAPIと機能は維持されます。 新しいアーキテクチャにおける特定の制限により、一部の機能が変更されています。 これらの変更内容の概要については、後述の React Native v9 移行ガイド を参照してください。
次のコマンドを実行して、npm経由でAppLovin MAX React Nativeモジュールをダウンロードします。
npm install react-native-applovin-max
リリースのアップデート情報を受け取るには、AppLovin MAX React NativeモジュールのGitHubリポジトリを購読してください。
MAX Ad Reviewサービスを有効にするには、以下の手順に従ってください:
build.gradleファイルの末尾に以下を追加します。
build.gradle ファイルへの追加内容buildscript {
repositories {
maven { url 'https://artifacts.applovin.com/android' }
}
dependencies {
classpath "com.applovin.quality:AppLovinQualityServiceGradlePlugin:+"
}
}
buildscript {
repositories {
maven { url = uri("https://artifacts.applovin.com/android") }
}
dependencies {
classpath ("com.applovin.quality:AppLovinQualityServiceGradlePlugin:+")
}
}
build.gradle ファイルへの追加内容apply plugin: 'applovin-quality-service'
applovin {
apiKey "«your-ad-review-key»"
}
plugins {
id("applovin-quality-service")
}
applovin {
apiKey = "«your-ad-review-key»"
}
Ad Review Keyは、AppLovinダッシュボードのAccount > General > Keysセクションで確認できます。
AppLovinQualityServiceSetup-ios.rb をダウンロードし、プロジェクトフォルダに移動します。
ターミナルウィンドウを開き、プロジェクトディレクトリに cd して、以下を実行します。
ruby AppLovinQualityServiceSetup-ios.rb
アプリのメインホーム画面に以下のコードスニペットを追加します。
import AppLovinMAX, { Configuration } from "react-native-applovin-max";
⋮
AppLovinMAX.initialize("«your-SDK-key»").then((conf: Configuration) => {
// SDKが初期化されました。広告の読み込みを開始します
}).catch(error => {
// SDKの初期化に失敗しました
});
SDKキーは、AppLovinダッシュボードのAccount > General > Keysセクションで確認できます。
メディエーションネットワークが広告アセットをキャッシュしている方が、ユーザーにとってより良い体験となります。 そのため、常に起動時にAppLovin SDKを初期化してください。 これにより、メディエーションネットワークが広告をキャッシュする時間を確保できます。 これは特に動画広告において重要です。
iOS 14において、Appleはグローバルなプライバシーポリシーの変更を導入しました。 Appleはアプリケーションに対し、これらの新しいポリシーに準拠することを求めています。 準拠しない場合、収益が減少する可能性があります。 このセクションでは、準拠する方法について説明します。
アプリの Info.plist をネットワーク固有の識別子で更新します。
手順については、SKAdNetwork ドキュメントを参照してください。
特定の法域においては、AppLovinのマネタイズパートナーに代わってユーザーから同意を取得する必要があります。 また、同意の値をAppLovinに渡す必要があります。 方法については、プライバシー:同意、年齢関連フラグ、およびデータAPIのドキュメントを確認してください。
React Nativeモジュールのバージョン5には、Promiseとコールバックをサポートするための大幅なアップデートが含まれています。 これにより、後方互換性が失われます。 このセクションでは、これらのアップデートの概要を説明します。
ネイティブUIコンポーネント(AppLovinMAX.AdView および AppLovinMAX.NativeAdView)は、コンポーネント自体の中で直接コールバックを宣言できます。
タイプ固有のイベントリスナーは、引数としてタイプを受け取ります。
これらは汎用イベントリスナーに代わるものです。
たとえば、AppLovinMAX.addEventListener(type, listener) の代わりに AppLovinMAX.addInterstitialLoadedEventListener(listener) が使用されるようになりました。
以前は戻り値を持つ同期メソッドであった12個のメソッドが、Promiseアーキテクチャを使用するようになりました。
Promiseによって渡される値にアクセスする際、then/catch または async/await によるチェーンを使用できます。
次の表は、更新されたメソッドを示しています。
| メソッド | resolve の戻り値の型 | reject の戻り値の型 |
|---|---|---|
AppLovinMAX.getAdaptiveBannerHeightForWidth(width) | height (float) | ⸺ |
AppLovinMAX.hasUserConsent() | boolean | ⸺ |
AppLovinMAX.initialize(sdkKey) | Configuration オブジェクト | error |
AppLovinMAX.isAppOpenAdReady(adunitId) | boolean | error |
AppLovinMAX.isDoNotSell() | boolean | ⸺ |
AppLovinMAX.isInitialized() | boolean | ⸺ |
AppLovinMAX.isInterstitialReady(adUnitId) | boolean | error |
AppLovinMAX.isMuted() | boolean | ⸺ |
AppLovinMAX.isRewardedAdReady(adunitId) | boolean | error |
AppLovinMAX.isTablet() | boolean | ⸺ |
AppLovinMAX.showCmpForExistingUser() | null | error |
これらの新しいメソッドを使用する移行がどのようになるかを示す、デモアプリのこのコミットも参考にしてください。
React Nativeモジュールのバージョン6には、TypeScriptとモジュールをサポートするための大幅なアップデートが含まれています。 これにより、後方互換性が失われます。 このセクションでは、これらのアップデートの概要を説明します。
TypeScriptは、React Nativeバージョン0.71以降、React Nativeのデフォルトのアプリケーションプログラミング言語となりました。 React Nativeモジュールのバージョン6では、コードベースがTypeScriptに移行されています。
以前のバージョンでは、MAXのすべての機能を網羅する単一のモジュール AppLovinMAX をエクスポートしていました。
バージョン6では、これらの機能が一連のモジュールに分類されています。
バージョン6のアーキテクチャはバージョン5に似ていますが、モジュールの導入に適応するために関数シグネチャが更新されています。
主な新しいモジュールは以下の通りです。
| モジュール | 機能 |
|---|---|
AppLovinMAX (デフォルト) | インテグレーション(初期化および汎用関数) |
Privacy | プライバシー、規約フロー |
AppOpenAd | アプリ起動開時広告 |
BannerAd | バナー広告 |
InterstitialAd | インタースティシャル広告 |
MRecAd | MREC広告 |
NativeAdView | ネイティブ広告 |
RewardedAd | リワード広告 |
AdView | バナーおよびMREC(UIコンポーネント) |
import AppLovinMAX from 'react-native-applovin-max';
AppLovinMAX.addInterstitialLoadedEventListener((adInfo) => {
const isInterstitialReady = await AppLovinMAX.isInterstitialReady(«ad-unit-ID»);
if (isInterstitialReady) {
AppLovinMAX.showInterstitial(«ad-unit-ID»);
}
});
AppLovinMAX.loadInterstitial(«ad-unit-ID»);
import { InterstitialAd, type AdInfo } from 'react-native-applovin-max';
InterstitialAd.addAdLoadedEventListener((adInfo: AdInfo) => {
const isInterstitialReady = await InterstitialAd.isAdReady(«ad-unit-ID»);
if (isInterstitialReady) {
InterstitialAd.showAd(«ad-unit-ID»);
}
});
InterstitialAd.loadAd(«ad-unit-ID»);
React Nativeモジュールのバージョン9では、既存のAPIと機能を維持しながら、React Nativeの新しいアーキテクチャのサポートを導入しています。 新しいアーキテクチャにおける特定の制限により、一部の機能が変更されています。
AdInfo オブジェクトは ウォーターフォール情報API をサポートしなくなりました。
AdView および NativeAdView における extraParameters と localExtraParameters の変更null に設定していた箇所では、空の文字列("")に設定してください。