facebook twitter hatena line email

「Android/広告組込/UnityAds」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==Unityads_androidの公式github== https://github.com/Unity-Technologies/unity-ads-android/ ==Unityadsの組み込み== #以下項目からUnityadsのaarライブラリ...」)
 
(Android11でManifest.permission.READ_PHONE_STATEのエラーが起こる問題)
 
(同じ利用者による、間の15版が非表示)
行1: 行1:
 +
==UnityAds管理画面==
 +
https://dashboard.unity3d.com/
 +
 +
===管理画面からAdのID発行===
 +
#管理画面/プロジェクトを選択/Monetization/Placements
 +
#AddPlacementボタンクリックvideoやrewardedVideを選択
 +
 +
===管理画面からAPIKey発行===
 +
#管理画面/AdsDataExport/API Access
 +
 +
===管理画面からOrganization core ID発行===
 +
#管理画面/Settings
 +
 
==Unityads_androidの公式github==
 
==Unityads_androidの公式github==
 
https://github.com/Unity-Technologies/unity-ads-android/
 
https://github.com/Unity-Technologies/unity-ads-android/
  
 
==Unityadsの組み込み==
 
==Unityadsの組み込み==
 +
#build.gradleにcompile project(':unity-ads-debug')が追加されていれば一旦削除する。
 +
#settings.gradeに':unity-ads-debug'が追加されていれば一旦削除する。
 +
#[project1]/unity-ads-debugのディレクトリが存在していれば一旦削除する。
 
#以下項目からUnityadsのaarライブラリ取得
 
#以下項目からUnityadsのaarライブラリ取得
 
#UnityAdsを使いたいAndroidStudioプロジェクトを開き
 
#UnityAdsを使いたいAndroidStudioプロジェクトを開き
行16: 行32:
 
  import com.unity3d.ads.UnityAds;
 
  import com.unity3d.ads.UnityAds;
  
==Unityadsのaarライブラリ取得==
+
==Unityadsのaarライブラリ生成==
 
#unity-ads-androidをAndroidStudioで開き
 
#unity-ads-androidをAndroidStudioで開き
 
#build/make moduleからビルドすると
 
#build/make moduleからビルドすると
 
#unity-ads-android/lib/build/outputs/aarの下にunity-ads-debug.aarファイルができる
 
#unity-ads-android/lib/build/outputs/aarの下にunity-ads-debug.aarファイルができる
 +
 +
==UnityadsのaarライブラリのDL==
 +
https://github.com/Unity-Technologies/unity-ads-android/releases
 +
 +
==公式デモの画面が黒くなる==
 +
lib/build.gradleの以下を削除
 +
buildConfigField 'String', 'WEBVIEW_BRANCH', getPropertyStringWithDefaultValue('WEBVIEW_BRANCH', '"master"')
 +
https://github.com/Unity-Technologies/unity-ads-android/commit/1cfad8d1f9aac43bc4be098850fadd742b0bee54
 +
 +
https://forum.unity.com/threads/building-with-android-11-results-in-runtime-crash.920309/
 +
 +
==Android11でManifest.permission.READ_PHONE_STATEのエラーが起こる問題==
 +
<pre>
 +
AndroidRuntime: FATAL EXCEPTION: ConnectivityThread
 +
java.lang.SecurityException: getDataNetworkTypeForSubscriber: uid 10430 does not have android.permission.READ_PHONE_STATE.
 +
</pre>
 +
android.telephony.TelephonyManager.getNetworkType()で、SecurityExceptionが起こる。
 +
 +
mavenを3.4.6から3.4.8に変更することでうまくいく。( https://github.com/Unity-Technologies/unity-ads-android/releases/tag/3.4.8 でgetNetworkType()の問題、対応されてる)
 +
)
 +
 +
<pre>
 +
+ implementation 'com.unity3d.ads:unity-ads:3.4.8'
 +
- implementation 'com.unity3d.ads:unity-ads:3.4.6'
 +
</pre>
 +
 +
unity-ads-sdkの最新はここを見よう。https://github.com/Unity-Technologies/unity-ads-android/releases
 +
 +
3.5.0は、minSdkVersion を16から19にしないとならない。
 +
 +
3.4.6のときは、API30のときにPHONE_STATEエラーが出る。
 +
API30でもrequestPermission(Manifest.permission.READ_PHONE_STATE, REQUEST_PERMISSION_PHONE_STATE);すればうまくいくが、ダイアログを出す必要がある。やりかたは、以下参照
 +
 +
[[Android/権限]] [ショートカット]
 +
 +
参考:https://forum.unity.com/threads/building-with-android-11-results-in-runtime-crash.920309/

2020年11月2日 (月) 17:29時点における最新版

UnityAds管理画面

https://dashboard.unity3d.com/

管理画面からAdのID発行

  1. 管理画面/プロジェクトを選択/Monetization/Placements
  2. AddPlacementボタンクリックvideoやrewardedVideを選択

管理画面からAPIKey発行

  1. 管理画面/AdsDataExport/API Access

管理画面からOrganization core ID発行

  1. 管理画面/Settings

Unityads_androidの公式github

https://github.com/Unity-Technologies/unity-ads-android/

Unityadsの組み込み

  1. build.gradleにcompile project(':unity-ads-debug')が追加されていれば一旦削除する。
  2. settings.gradeに':unity-ads-debug'が追加されていれば一旦削除する。
  3. [project1]/unity-ads-debugのディレクトリが存在していれば一旦削除する。
  4. 以下項目からUnityadsのaarライブラリ取得
  5. UnityAdsを使いたいAndroidStudioプロジェクトを開き
  6. File/new/new Moduleから"Import.JAR/.AAR"を選択
  7. .aarファイルを選択しライブラリ名を入力する
  8. settings.gradeに以下を追加
include ':app', ':unity-ads-debug'
  1. build.gradeに以下を追加
dependencies {
   compile project(':unity-ads-debug')
}
  1. 以下を記述し読み込めるか確認
import com.unity3d.ads.UnityAds;

Unityadsのaarライブラリ生成

  1. unity-ads-androidをAndroidStudioで開き
  2. build/make moduleからビルドすると
  3. unity-ads-android/lib/build/outputs/aarの下にunity-ads-debug.aarファイルができる

UnityadsのaarライブラリのDL

https://github.com/Unity-Technologies/unity-ads-android/releases

公式デモの画面が黒くなる

lib/build.gradleの以下を削除

buildConfigField 'String', 'WEBVIEW_BRANCH', getPropertyStringWithDefaultValue('WEBVIEW_BRANCH', '"master"')

https://github.com/Unity-Technologies/unity-ads-android/commit/1cfad8d1f9aac43bc4be098850fadd742b0bee54

https://forum.unity.com/threads/building-with-android-11-results-in-runtime-crash.920309/

Android11でManifest.permission.READ_PHONE_STATEのエラーが起こる問題

AndroidRuntime: FATAL EXCEPTION: ConnectivityThread
java.lang.SecurityException: getDataNetworkTypeForSubscriber: uid 10430 does not have android.permission.READ_PHONE_STATE.

android.telephony.TelephonyManager.getNetworkType()で、SecurityExceptionが起こる。

mavenを3.4.6から3.4.8に変更することでうまくいく。( https://github.com/Unity-Technologies/unity-ads-android/releases/tag/3.4.8 でgetNetworkType()の問題、対応されてる) )

+ implementation 'com.unity3d.ads:unity-ads:3.4.8'
- implementation 'com.unity3d.ads:unity-ads:3.4.6'

unity-ads-sdkの最新はここを見よう。https://github.com/Unity-Technologies/unity-ads-android/releases

3.5.0は、minSdkVersion を16から19にしないとならない。

3.4.6のときは、API30のときにPHONE_STATEエラーが出る。 API30でもrequestPermission(Manifest.permission.READ_PHONE_STATE, REQUEST_PERMISSION_PHONE_STATE);すればうまくいくが、ダイアログを出す必要がある。やりかたは、以下参照

Android/権限 [ショートカット]

参考:https://forum.unity.com/threads/building-with-android-11-results-in-runtime-crash.920309/