Pangle, App Monetization Simplified
注册 登录 创建应用 创建广告单元 将其应用ID和广告ID关联到MAX广告。
下载Pangle Unity Plugin包,新建一个空工程(很重要)
Unity版本2019.4.0f1
gradle plugin 4.2.0
gradle版本6.7.1
build_tools 34.0.0
修改文件:
Assets\PAG\Scripts\Editor\PangleAdapterScriptsDependencies.xml
<repositories>
<repository>https://artifact.bytedance.com/repository/pangle</repository>
<repository>http://maven.aliyun.com/nexus/content/groups/public/</repository>
</repositories>
新增了一个阿里云镜像加速依赖资源下载(不要删默认的,别问我为什么,就是尼玛报错了而且还很奇葩,你可以试试...)
然后去force resolved 等资源全部成功下载到Plugins/Android下,这堆资源转移到我们的正式工程里,并导入这个unity插件包即可打包。(尽可能不要在多SDK环境下去force resolve依赖资源 坑太多 搞不过来的)
坑点一:
Unity工程修改gradle插件版本,无论是直接替换默认工程安装目录下的lib还是指定新的gradle都有一个问题,就是force resolved时实际用的还是默认工程lib的(具体原因未知),我们要修改这个文件夹下的lib也替换为gradle_4.2.0的lib文件。
C:\Users\用户名\.gradle\wrapper\dists\gradle-5.1.1-bin\90y9l8txxfw1s2o6ctiqeruwn\gradle-5.1.1\lib
其实你如果报错了,那一定是会提示.gradle\wrapper\dists\xxxx的,直接找到它,然后使用gradle_4.2.0_all下的lib整个替换,不要部分替换 要先删除再换!
相关文章:【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob-CSDN博客
坑点二:
Android 12以上必须<activity>/<service>/<receiver>标签显示声明andorid:exported="true",必须是true。
<?xml version="1.0" encoding="utf-8"?>
<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools">
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector" android:exported="true">
<intent-filter android:exported="true">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
</application>
</manifest>
如果还有其他类似的报错提示你android:exported,那说明还有没有修改的。
2023年11月27日08:50:20(补充)
因为打包时想用Main Template Gradle但它确实是无法成功加载的,所以我们要用文章的方式取消这个,再用force resolve加载依赖资源到工程内,但因为少了一步是没去忽略掉依赖资源被gradle再次build时去加载,即注释文件:Assets\PAG\Scripts\Editor\PangleAdapterScriptsDependencies.xml 如下几行
<!--<androidPackage spec="com.pangle.global:ads-sdk:4.6.1.0"/>
<androidPackage spec="com.android.support:support-core-utils:28.0.0"/>
<androidPackage spec="com.android.support:support-compat:28.0.0"/>
<androidPackage spec="pl.droidsonroids.gif:android-gif-drawable:1.2.6"/>-->
注意注释了就无法使用force resolved去加载依赖文件了,想加载依赖文件必须要取消注释这4行并且取消勾选Main Template Gradle,去Force Resolve加载完依赖文件后再注释和勾选上Main Template Gradle,反正你只要勾选上了Main Tempalte Gradle,在打包时它就会动态生成一份新的包含这些各种SDK的依赖项,基本都通过这个xml形式以及代码动态加载一份(具体没了解)
需要取消勾选这个,不然打包时会自动清掉所有已经加载的jar aar
2023年11月27日10:36:27补充
好像取消Patch mainTemplate.gradle后会导致其他第三方需要用这种形式导入到mainTemplate.gradle的依赖丢失,导致无法打包,所以可能还得找办法解决这个
2023年11月27日19:38:03补充
【结论是失败】实际上不用那么麻烦,还是我这个gradle版本(保证是4.x以上吧)然后直接去打包即可,什么main template.gradle也不用管了(也就是自动下依赖)可能maven镜像要用下 如果下不了依赖包,虽然可以打出包了,也能正常打开APK,但是!20001错误码,他不支持在这个country,然后试了用MAX SDK也一样能打包,能加载(只是没有fail load错误)但是还是无法Show!再次Load会警告你already load Ad,但就是无法Show最终我看到了!
所以,试试用国外账户过一遍?(真的没那精力了)