uniapp 离线打包对接谷歌banner广告

编程入门 行业动态 更新时间:2024-10-10 05:27:18

uniapp <a href=https://www.elefans.com/category/jswz/34/1767604.html style=离线打包对接谷歌banner广告"/>

uniapp 离线打包对接谷歌banner广告

一、安卓

  1. 下载uniapp 离线打包SDK

下载地址:.html#

以下是我下载的sdk配置,我的sdk版本是:3.6.4

  1. 使用android studio IDE 导入Hbuilder-HelloUniApp 项目目录如下

a、修改build.gradle 文件加入谷歌谷歌的sdk

在build.gradle 文件中加入,classpath 'com.google.gms:google-services:4.3.10'

b、在app/src/AdroidManifest.xml 中 application节点加入

<meta-data

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

android:value="谷歌广告应用id"/>

谷歌银行id在google Admob平台注册申请

c、在layout 中创建bannerAd.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=""

android:layout_width="match_parent"

android:layout_height="100dp">

<Button

android:id="@+id/btn1"

android:text="Button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<Button

android:id="@+id/btn2"

android:text="Button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<com.google.android.gms.ads.AdView

xmlns:ads=""

android:id="@+id/adView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_alignParentBottom="true"

ads:adSize="BANNER"

ads:adUnitId="广告单元id">

</com.google.android.gms.ads.AdView>

</LinearLayout>

d、在java/com下面创建一个目录googleAdView,再创建一个ad.java 文件

ad.java 文件代码如下

public class ad extends Activity {

private AdView mAdView;

private WebView webView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

DisplayMetrics dm = new DisplayMetrics();

getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);

WindowManager.LayoutParams p = getWindow().getAttributes();

p.gravity = Gravity.BOTTOM;

p.y = 140;

getWindow().setBackgroundDrawableResource(android.R.color.transparent);

getWindow().setAttributes(p);

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();

layoutParams.flags = WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS |

WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;

setContentView(R.layout.googlead);

mAdView = findViewById(R.id.adView);

}

}

e、在AndroidManifest.xml中暴露出广告 Activity

<activity android:name="com.googleAdView.ad"

android:theme="@style/MyDialogStyle"

android:exported="false"

>

</activity>

f、在values 中创建一个style.xml

<!-- 自定义dialog的样式 -->

<style name="MyDialogStyle" parent="@style/Theme.AppCompat.NoActionBar">

<item name="android:windowIsFloating">true</item>

<item name="android:windowIsTranslucent">true</item>

<item name="android:windowBackground">@android:color/transparent</item>

<item name="android:backgroundDimAmount">0</item>

<item name="android:windowCloseOnTouchOutside">false</item>

</style>

以上安卓原生代码就配置完了

在uniapp代码中调用就可以了

uniapp 代码调用如下

var main = plus.android.runtimeMainActivity();

//通过反射获取Android的Intent对象

var Intent = plus.android.importClass("android.content.Intent");

//通过宿主上下文创建 intent

var intent = new Intent(main.getIntent());

//设置要开启的Activity包类路径 com.HBuilder.integrate.MainActivity换掉你自己的界面

intent.setClassName(main, "com.googleAdView.ad");

//开启新的任务栈 (跨进程)

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

//uni向android原生界面传值

// intent.putExtra("uni_key","来自uniapp的值");

//请求码保证了,开始的新界面和返回的是同一个操作

// var CODE_REQUEST=1000

//采用startActivityForResult开启新的界面,当界面关闭时可以处理返回结果, CODE_REQUEST请求码是唯一标识

main.startActivity(intent);

这样谷歌广告就弹出拉!

更多推荐

uniapp 离线打包对接谷歌banner广告

本文发布于:2024-03-14 01:45:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1735350.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:离线   广告   uniapp   banner

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!