「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ライブラリ生成== |
#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発行
- 管理画面/プロジェクトを選択/Monetization/Placements
- AddPlacementボタンクリックvideoやrewardedVideを選択
管理画面からAPIKey発行
- 管理画面/AdsDataExport/API Access
管理画面からOrganization core ID発行
- 管理画面/Settings
Unityads_androidの公式github
https://github.com/Unity-Technologies/unity-ads-android/
Unityadsの組み込み
- build.gradleにcompile project(':unity-ads-debug')が追加されていれば一旦削除する。
- settings.gradeに':unity-ads-debug'が追加されていれば一旦削除する。
- [project1]/unity-ads-debugのディレクトリが存在していれば一旦削除する。
- 以下項目からUnityadsのaarライブラリ取得
- UnityAdsを使いたいAndroidStudioプロジェクトを開き
- File/new/new Moduleから"Import.JAR/.AAR"を選択
- .aarファイルを選択しライブラリ名を入力する
- settings.gradeに以下を追加
include ':app', ':unity-ads-debug'
- build.gradeに以下を追加
dependencies { compile project(':unity-ads-debug') }
- 以下を記述し読み込めるか確認
import com.unity3d.ads.UnityAds;
Unityadsのaarライブラリ生成
- unity-ads-androidをAndroidStudioで開き
- build/make moduleからビルドすると
- 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://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/