IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Google Play 登入、排行榜、广告安卓SDK接入 -> 正文阅读

[移动开发]Google Play 登入、排行榜、广告安卓SDK接入

Google Play 登入、排行榜、ADmob广告等安卓SDK接入


效果图

在这里插入图片描述

官方地址和教程

Google Play 登入、排行榜

? GooglePlay Console开发者地址:Play Console (google.com)

? (注:成为谷歌开发者需要25$)
在这里插入图片描述

? 打开网址点击创建应用,应用创建完毕可以得到12位的app_id,进入相应应用后台找到Play游戏服务在这里插入图片描述

? 不会配置凭据的可以打开官方接入文档尝试登录 Android | Google Sign-In for Android | Google Developers
在这里插入图片描述

? 如上图点击配置项目选择自己创建的应用点击Next后根据自己需要选择对应的平台凭据在这里插入图片描述

? 最后点击Create后就可以打开https://console.cloud.google.com/并且点击转到API概览->凭据进行凭据查看会看到有两条OAuth 2.0客户端ID信息

fnDJ1g.png

fnDG9S.png点击后面下载按钮可以获取到client_id,该值用于后面替换安卓项目的server_client_id的值
fnDYcQ.png

? 操作完成后回到Play Console下的Play游戏服务进行排行榜的创建,创建完毕后可以拿到排行榜的Id,用于android项目leaderboard_easy值得替换在这里插入图片描述

ADmob广告

? 打开Google AdMob进行应用的创建,最好名字和Play Console创建的一致
在这里插入图片描述

? 点击添加应用即可增加一个应用,并且生成一个应用Id,后续用于android项目APPLICATION_ID的value替换

fnDaBn.png

? 然后进入对应的应用设置,点击广告单元新建自己想要的广告单元,创建完毕对应的广告单元下方会有广告单元的Id,用于android项目ad_unit_id的替换fnDUns.png

总结:至此配置部分完毕,接下来进行代码部分

ADmob广告代码实现

fun Initialize(activity: Activity,view: FrameLayout)
    {
        MobileAds.initialize(activity) //将MobileAds进行实例化
        mAdView = AdView(activity)//创建一个AdView
        mAdView?.adSize = adSize(activity,view)//设置AdView的大小
        mAdView?.adUnitId = activity.getString(R.string.ad_unit_id)//设置adUnitId
        mAdRequest = AdRequest.Builder().build()//AdRequest的创建
        view.addView(mAdView)//让FrameLayout加上生成的AdView
        mAdView?.loadAd(mAdRequest!!)//AdView加载AdRequest内容
    }

private fun adSize(activity: Activity,view: FrameLayout): AdSize
    {
        val display = activity.windowManager.defaultDisplay
        val outMetrics = DisplayMetrics()
        display.getMetrics(outMetrics)

        val density = outMetrics.density
        var adWidthPixels = view.width.toFloat()
        if (adWidthPixels == 0f) {
            adWidthPixels = outMetrics.widthPixels.toFloat()
        }
        val adWidth = (adWidthPixels / density).toInt()
        return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(activity, adWidth)
    }

Google Play 登入、排行榜

override fun Initialize(activity: Activity) {//初始化mGoogleSignInClient
        mActivity = activity
        mGoogleSignInClient = GoogleSignIn.getClient(
            activity,
            GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
                .requestEmail()
                .build()
        )
    }

fun CheckIsLogined(): Boolean {//判断是否已经登入过帐号
        if(GoogleSignIn.getLastSignedInAccount(mActivity)!=null)
        {
            return true
        }
        return false
    }

fun DoLogin() {//进行登入请求
        if(!CheckIsLogined())
            mActivity.startActivityForResult(mGoogleSignInClient.signInIntent, ActivityResultCode.GooglePlayLogin.code)
    }

fun OpenRankingList(){//进行打开排行榜请求
        if(CheckIsLogined())
        {
            Games.getLeaderboardsClient(mActivity, GoogleSignIn.getLastSignedInAccount(mActivity)!!)
                .getLeaderboardIntent(mActivity.getString(R.string.leaderboard_easy))
                .addOnSuccessListener { intent ->
                    mActivity.startActivityForResult(
                        intent,
                        ActivityResultCode.OpenRankList.code
                    )
                }
        }

    }

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        if (requestCode == ActivityResultCode.GooglePlayLogin.code) {
            val result = Auth.GoogleSignInApi.getSignInResultFromIntent(data!!)
            if(result!!.isSuccess)//验证登入是否成功
            {
                Toast.makeText(mActivity,"Google Play Login Success",Toast.LENGTH_LONG).show()
                OpenRankingList()//登入成功进行排行榜打开
            }
            else
                Toast.makeText(mActivity,"Google Play Login Failed,Code:${result.status.statusCode}",Toast.LENGTH_LONG).show()
        }
    }

项目开源源码:https://gitee.com/yang_sizang/Google-Play.git

邮箱:407551879@qq.com

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:12:20  更:2021-08-07 12:13:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 16:11:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码