常见问题
<h1>Unity接入常见问题<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#unity%E6%8E%A5%E5%85%A5%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98"></a></h1>
<h2>1. Android 常见问题<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-android-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98"></a></h2>
<h3>1.1 targetSdkVersion 28以上 http支持<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-1-targetsdkversion-28%E4%BB%A5%E4%B8%8A-http%E6%94%AF%E6%8C%81"></a></h3>
<p>xml</p>
<pre><code>&lt;manifest&gt;
&lt;application android:usesCleartextTraffic=&quot;true&quot;&gt;
&lt;/manifest&gt;</code></pre>
<p>或者</p>
<p>xml</p>
<pre><code>&lt;/manifest&gt;
&lt;application android:networkSecurityConfig=&quot;@xml/network_security_config&quot;&gt;
&lt;/manifest&gt;</code></pre>
<p>network_security_config.xml 文件配置</p>
<p>xml</p>
<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;network-security-config&gt;
&lt;base-config cleartextTrafficPermitted=&quot;true&quot;/&gt;
&lt;/network-security-config&gt;</code></pre>
<h3>1.2多进程支持说明<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-2%E5%A4%9A%E8%BF%9B%E7%A8%8B%E6%94%AF%E6%8C%81%E8%AF%B4%E6%98%8E"></a></h3>
<p>> 广告AdActivity 增加 android:multiprocess="true",此方案每次开启子进程后你需要重新对广告SDK进行初始化,主进程加载广告状态在次进程无效,需要重新加载,设置回调。</p>
<h3>1.3 系统installProvider失败或者开启MultiDex导致的Not find Class<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-3-%E7%B3%BB%E7%BB%9Finstallprovider%E5%A4%B1%E8%B4%A5%E6%88%96%E8%80%85%E5%BC%80%E5%90%AFmultidex%E5%AF%BC%E8%87%B4%E7%9A%84not-find-class"></a></h3>
<p>> 参考链接 <a href="https://developer.android.com/studio/build/multidex"><a href="https://developer.android.com/studio/build/multidex">https://developer.android.com/studio/build/multidex</a></a></p>
<pre><code>android {
buildTypes {
release {
multiDexKeepProguard file('multidex-config.pro')
...
}
}
}</code></pre>
<h3>1.4 方法数65k问题解决<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-4-%E6%96%B9%E6%B3%95%E6%95%B065k%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3"></a></h3>
<p>> 参考链接 <a href="https://developer.android.com/studio/build/multidex"><a href="https://developer.android.com/studio/build/multidex">https://developer.android.com/studio/build/multidex</a></a></p>
<p>*** step.1 build.gradle defaultConfig 开启multiDexEnabled ***</p>
<pre><code>defaultConfig {
multiDexEnabled true
}</code></pre>
<p>*** step.2 1.6.2 build.gradle dependencies 增加 multidex ***</p>
<p>groovy</p>
<pre><code>dependencies {
//AndroidX
def multidex_version = &quot;2.0.1&quot;
implementation 'androidx.multidex:multidex:$multidex_version'
//非AndroidX
implementation 'com.android.support:multidex:1.0.3'
}</code></pre>
<p>*** step.3 修改 MyAppcation 继承 MultiDexApplication ***</p>
<p>c#</p>
<pre><code>public class MyAppcation extends MultiDexApplication {
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
MultiDex.install(this) //Multi 安装
}
}</code></pre>
<h3>1.5 Android V4 Support支持<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-5-android-v4-support%E6%94%AF%E6%8C%81"></a></h3>
<p>项目gradle.properties文件增加</p>
<pre><code>android.useAndroidX=true
android.enableJetifier=true</code></pre>
<h3>1.6 视频无法播放或者HTML渲染错误<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_1-6-%E8%A7%86%E9%A2%91%E6%97%A0%E6%B3%95%E6%92%AD%E6%94%BE%E6%88%96%E8%80%85html%E6%B8%B2%E6%9F%93%E9%94%99%E8%AF%AF"></a></h3>
<p>xml</p>
<pre><code>&lt;activity android:name=&quot;com.unity3d.player.UnityPlayerActivity&quot;
android:hardwareAccelerated=&quot;true&quot;
/&gt;</code></pre>
<h2>2. iOS Xcode编译选项设置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-ios-xcode%E7%BC%96%E8%AF%91%E9%80%89%E9%A1%B9%E8%AE%BE%E7%BD%AE"></a></h2>
<h3>2.1 添加“ObjC”链接器标记<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-1-%E6%B7%BB%E5%8A%A0-objc-%E9%93%BE%E6%8E%A5%E5%99%A8%E6%A0%87%E8%AE%B0"></a></h3>
<p>在Xcode中选择项目的Targets->Build Settings,配置Other Link Flags 增加 <strong>-ObjC</strong>。</p>
<h3>2.2 删除iOS状态栏<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-2-%E5%88%A0%E9%99%A4ios%E7%8A%B6%E6%80%81%E6%A0%8F"></a></h3>
<p>尽管这不是必需的步骤,但我们建议采取该步骤以确保 WindSDK 的广告互动和演示可以顺利进行。如要删除状态栏,请打开 Info.plist, 添加<strong>View controller-based status bar appearance</strong>,并将其设置为 NO。</p>
<h3>2.3 添加HTTP权限<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-3-%E6%B7%BB%E5%8A%A0http%E6%9D%83%E9%99%90"></a></h3>
<p>工程info.plist文件设置,点击右边的information Property List后边的 "+" 展开 添加 App Transport Security Settings,先点击左侧展开箭头,再点右侧加号,Allow Arbitrary Loads 选项自动加入,修改值为 YES。 SDK API 已经全部支持HTTPS,但是广告主素材存在非HTTPS情况。</p>
<p>xml</p>
<pre><code>&lt;key&gt;NSAppTransportSecurity&lt;/key&gt;
&lt;dict&gt;
&lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
&lt;true/&gt;
&lt;/dict&gt;</code></pre>
<h3>2.4 添加定位权限<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-4-%E6%B7%BB%E5%8A%A0%E5%AE%9A%E4%BD%8D%E6%9D%83%E9%99%90"></a></h3>
<p>工程info.plist文件设置,点击右边的information Property List后边的 "+" 展开 添加Privacy - Location When In Use Usage Description。</p>
<h3>2.5 运行环境配置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-5-%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE"></a></h3>
<ul>
<li>支持系统 iOS 7.X 及以上;</li>
<li>SDK编译环境 Xcode 9.0+, Base SDK 11.0;</li>
<li>支持架构:i386, x86-64, armv7, armv7s, arm64</li>
</ul>
<h3>2.6 多语言配置<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-6-%E5%A4%9A%E8%AF%AD%E8%A8%80%E9%85%8D%E7%BD%AE"></a></h3>
<p>注意 : 开发者必须在这里设置所支持的语言,否则会有语言显示的问题.</p>
<p><strong>例如 : 支持中文 添加 Chinese</strong></p>
<p><img src="https://n.sigmob.cn/img/ios_language_setting.png" alt="image" /></p>
<h3>2.7 百度无关闭按钮<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-7-%E7%99%BE%E5%BA%A6%E6%97%A0%E5%85%B3%E9%97%AD%E6%8C%89%E9%92%AE"></a></h3>
<p>原因: 百度资源包依赖路径错误,不在主target下。 解决办法:将百度资源包baidumobadsdk.bundle 添加到主target下面。</p>
<h3>2.8 运行时快手报错找不到KSAdSDK.framework<a href="https://doc.sigmob.com/ToBid%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Unity/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/#_2-8-%E8%BF%90%E8%A1%8C%E6%97%B6%E5%BF%AB%E6%89%8B%E6%8A%A5%E9%94%99%E6%89%BE%E4%B8%8D%E5%88%B0ksadsdk-framework"></a></h3>
<p>原因: 快手渠道动态库不支持添加到UnityFramework target,必须主target 依赖且为embed 解决办法: 在主target下面添加 KSAdSDK.xcframework 依赖并设置为embed</p>