如何在Unity 3D中设置Google AdMod

如何在Unity 3D中设置Google AdMod,第1张

在Unity中启用Google广告游戏,你需要做到如下所示:

要求

– Unity 4或者更高(链接:https://github.com/)

– 谷歌移动广告SDK(链接:https://github.com/)

安装

1.通过访问以下网址转到谷歌的游戏开发者页面:https://github.com/。

2.导航到页面上的“Unity”部分。

3.在本节将有两个按钮(如“下载插件”和“查看源代码”)。点击“下载插件”按钮。这将带给你一个GitHub的页面,你可以下载“谷歌移动广告'Unity包。查找并下载“GoogleMobileAds.unitypackage'文件

4.导入“GoogleMobileAds.unitypackage”文件到Unity项目。例如在Unity,选择资源>导入包>自定义包并找到GoogleMobileAdsPlugin.unitypackage。

5.点击“导入”按钮d出。

6.重要提示:导入后,需要编辑“资源/插件/Android/ AndroidManifest.xml”文件夹内的“AndroidManifest.xml”文件。

例如更改以下行

<meta-data android:name="com.google.android.gms.version"

android:value="7327000" />

改为

android:name="com.google.android.gms.ads.AdActivity"

在你的计算机上Android SDK文件夹中找到正确的正确的值,我的是以下几点:

C:\ProgramFiles(x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\version.xml

7.编辑默认AndroidManifest.xml文件

<android_sdk>/extras/google/google_play_services/libproject/google-play-services_lib/有相同的值在AndroidManifest.xml文件中,否则,你会得到一个错误。

8.从您的计算机添加了“谷歌播放服务库”到项目中。你可以从你的电脑中拖动下面的文件夹到Unity的Assets/Plugins/Android文件夹。

例如拖动

<android_sdk>/extras/google/google_play_services/libproject/google-play-services_lib/到Unity的Assets/Plugins/Android文件夹。

9.现在尝试构建,如果做得正确,构建应该没有任何错误。

添加广告

10.回到谷歌游戏开发者页面,你可以按照“Unity Plugin API”部分的说明, 请求创建一个新的脚本和一些基本的横幅。添加主相机到你的Unity。

11.你可以从Google HelloWorld的例子使用GoogleMobileAdsDemoScript.cs演示脚本。

注意:一旦确保替换和Id而不是添加你的谷歌AdMob单元。所有三个地方

如:查找和替换你的AdMob单位Id

#if UNITY_ANDROID

string adUnitId = “ca-app-pub-9044402088937556/1721466523”

#elif UNITY_IPHONE

string adUnitId = “ca-app-pub-9044402088937556/1721466523”

#else

string adUnitId = “ca-app-pub-9044402088937556/1721466523”

#endif

12.如果你使用的是“GoogleMobileAdsDemoScript.cs”示例文件,不打算使用testAds或者测试你的设备ID,你需要从如下示例中的谷歌源代码进行改变。

如:在“GoogleMobileAdsDemoScript.cs”——RequestBanner部分,

将bannerView.LoadAd(createAdRequest)改变为AdRequest request = new AdRequest.Builder().Build()

bannerView.LoadAd(request)

13.如果您打算添加插播式广告,那么你就需要做一样的横幅广告。

14.打造你的游戏,你应该可以看到现在的广告。

注:如果你只是签署了AdMob账户,可能需要一些时间来增加显示。

你也可以使用这个adUnitId进行测试:

ca-app-pub-9044402088937556/1721466523.这是我们的测试adUnitId之一。

下面是我遇到的一些错误:

错误1

– Error building Player: CommandInvokationFailure: Failed to re-package resources

AndroidManifest.xml:9: error: Error: No resource found that matches the given name (at ‘value’ with value ‘@integer/google_play_services_version’).

Fix: Go to your Goolge SDK folder and copy the value to manually add to to the AndroidManifest.xml file in your Unity3d Assets\Plugins\Android folder

C:\ProgramFiles(x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\version.xml

例如:

将<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"

android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"

改为<activity android:name="com.baidu.mobads.AppActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>

错误2

– Error building Player: CommandInvokationFailure: Unable to merge android manifests

试着合并不兼容

/manifest/application/meta-data[@name=com.google.android.gms.version]元素:

<元数据

@android:NAME =“com.google.android.gms.version”

@android:值=“6587000”>

<元数据

@android:NAME =“com.google.android.gms.version”

++@android:值=“@整数/ google_play_services_version”>

修复:确保相同的值添加到Unity Assets文件夹下默认的AndroidManifest.xml文件。

例如:

Assets->Plugins->Android->google-play-services_lib\AndroidManifest.xml

开启mod菜单功能需要下载适合自己版本的mod,再解压文件,解压出来的mod是jar格式,后把这个jar格式的mod放入游戏根目录里即可。

1、mod是游戏术语,意为游戏模组,它是游戏的一种修改或增强程序,通过将电脑游戏中的道具、武器、角色、敌人、事物、模式、故事情节等作出修改,或是加入新的道具及事物。

2、游戏模组多为第三方自行制作,它不仅可以提升游戏性,有些mod甚至可把原有的游戏变成一套新的作品。

3、所有的模组都是额外补充的,而不是修改原版。

  经过前面8节的学习,我们已经可以制作很多种mod,但是在开发中,总会出现一点意外情况,比如,我想修改的数据是private的怎么办?如果你对C#有些经验,第一反应应该是,反射。是的,在C#中访问和修改私有成员需要使用反射,对于mod来说,我们不可避免的总是需要访问一些被设置为私有的成员或者还有一些特别的需要,所以,Harmony为我们准备了几个工具类,让我们更方便的完成需求。

  这是Harmony为了简化反射为我们准备的类,通过它我们可以轻松的访问这个成员,因为所有的方法都使用完整的绑定标志,无论它是私有还是静态的等等都可以访问。

常用方法

  上面AccessTools获取到的都是宏观的信息,我们通常需要得到的是具体的数据,这个时候就到了Traverse出场的时候了。

例子:假设游戏中有一个类People,它是这样的

People的地址是私有的,我们不能直接访问它,这个时候我们使用Traverse。

  为了简单和快速的记录日志用以开发调试,Harmony准备了FileLog类,它只有3个方法,非常简单。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11607590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存