HarmonyOS NEXT实战:接入QQ SDK

简介: 《HarmonyOS Next实战:集成三方SDK实现QQ登录功能》 本文详解如何在HarmonyOS应用中接入腾讯QQ开放平台SDK,完成QQ登录功能开发。内容涵盖开发者注册、应用申请、鸿蒙项目配置及SDK集成步骤,并提供代码示例与接入流程说明,助力教育类应用快速集成社交登录功能。

HarmonyOS Next实战##三方SDK##教育

参考资料
移动应用接入流程:
https://wiki.connect.qq.com/%e7%a7%bb%e5%8a%a8%e5%ba%94%e7%94%a8%e6%8e%a5%e5%85%a5%e6%b5%81%e7%a8%8b

HarmonyOS_SDK环境搭建:
https://wiki.connect.qq.com/harmonyos_sdk%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba

SDK Demo下载:
https://wiki.connect.qq.com/sdk%e4%b8%8b%e8%bd%bd

移动应用接入流程:
移动应用通过以下几个步骤,即可接入互联开放平台 [ https://connect.qq.com ] :
开发者注册 > 移动应用申请 > 移动应用开发 > 调用OpenAPI

  1. 开发者注册
    在QQ互联开放平台首页 http://connect.qq.com/ ,点击右上角的“登录”按钮,使用QQ账号登录,登录成功后会跳转到开发者注册页面,在注册页面需要提交公司或个人的基本资料。
  2. 移动应用接入申请
    · 移动应用接入前,需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对移动应用与用户进行验证与授权。
    · 如果您的PC应用已经接入腾讯开放平台,则不需要重新获得appid与appkey,只需使用接入腾讯开放平台时获得的appid,即可添加为移动应用。
    · 添加移动应用:开发者注册成功后,会跳转到“管理中心”页面。点击“添加移动应用”,填写相应的信息。
    · 移动应用信息填写完成,点击“确定”后,移动应用注册完成,进入管理中心,可以查看到移动应用获取的appid和appkey
  3. 移动应用开发
    进入控制台页面,可以看到移动应用申请处于“开发”状态。移动应用上线,首先需对移动应用进行开发,即完成QQ登录功能并正常放置QQ登录按钮。
  4. 使用QQ互联提供的OpenAPI
    完成移动应用的开发后,即可在“管理中心”的“控制台”页面,点击“当前流程”下的“申请上线”,流程处于“审核”状态。
    提交审核后,腾讯会在两个工作日完成审核,审核通过后,移动应用即正式上线。

开发说明
QQ登录功能使用国际通用的OAuth2.0协议进行验证与授权,可通过以下方式进行移动应用开发:
(1)QQ互联分别提供了iOS和Android的SDK开发包。如果手机安装了QQ,则启动手机QQ进行SSO登录。如没有安装,则通过手机系统的浏览器进行登录。登录的流程已经集成在SDK里,建议开发者使用此方法。详见:SDK下载
(2)根据QQ登录OAuth2.0协议,自主开发,此方法自定义程度较高,需要与现有系统进行整合的移动应用可选用此方法。

鸿蒙项目配置:
添加依赖,执行命令

ohpm i @tencent/qq-open-sdk

运行后在工程级 oh-package.json5 文件中可看到新增依赖库

  "dependencies": {
   
    "@tencent/qq-open-sdk": "^1.0.3"
  }

修改模块配置:
修改entry的module.json5文件,配置skills

        "skills": [
          {
   
            "entities": [
              "entity.system.home",
              "entity.system.browsable"
            ],
            "actions": [
              "action.system.home",
              "ohos.want.action.viewData"
            ],
            "uris": [
              {
   
                "scheme": "qqopenapi", // 接收 QQ 回调数据
                "host": "xxxxxxxxx", // 业务申请的互联 appId,如果填错会导致 QQ 无法回调
                "pathRegex": "\\b(auth|share)\\b",
                "linkFeature": "Login",
              }
            ]
          }
        ]

继续修改entry的module.json5文件,增加querySchemes

    "querySchemes": [
      "https",
      "qqopenapi"
    ]

增加SDK工具类:
添加QQOpenApiHolder

import {
    SdkConfig } from '@heduohao/bases'
import {
    IQQOpenApi, OpenApiConfig, QQOpenApiFactory } from '@tencent/qq-open-sdk'

export class QQOpenApiHolder {
   
  private static qqOpenApi: IQQOpenApi

  private constructor() {
   

  }

  public static create(): IQQOpenApi {
   
    if (!QQOpenApiHolder.qqOpenApi) {
   
      let openApiOption: OpenApiConfig = {
   
        forceEnableWeb: false,
        autoHandleAuthResult: true,
      }

      QQOpenApiHolder.qqOpenApi =
        QQOpenApiFactory.createApi(SdkConfig.QQ_SDK_APP_ID, openApiOption)
    }
    return QQOpenApiHolder.qqOpenApi
  }

  public static getInstance(): IQQOpenApi {
   
    return QQOpenApiHolder.qqOpenApi
  }
}

EntryAbility接入QQOpenApiHolder

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
   
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
    QQOpenApiHolder.create()
  }

  onNewWant(want: Want, _launchParam: AbilityConstant.LaunchParam): void {
   
    QQOpenApiHolder.getInstance()?.handleResult(want)
  }
目录
相关文章
|
12月前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
1203 103
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
952 12
|
JavaScript 开发者 索引
鸿蒙应用开发从入门到实战(九):ArkTS渲染控制
ArkTS拓展了TypeScript,可以结合ArkUI进行渲染控制,是的界面设计具有可编程性。本文简要描述鸿蒙应用开发中的条件渲染和循环渲染。
462 5
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解滑块Slider和进度条Progress组件的使用。
495 1
|
12月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1983 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
12月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1264 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
12月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1335 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
数据安全/隐私保护 开发者
鸿蒙应用开发从入门到实战(十一):ArkUI组件Text&TextInput
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解文本组件Text和TextInput的使用。
734 3
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
538 1
|
12月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
581 0

热门文章

最新文章