7

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区-51CTO....

 2 years ago
source link: https://ost.51cto.com/posts/14704
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证! 原创 精华

[本文正在参加星光计划3.0-夏日挑战赛]

在之前的项目实践中,想通过NFC碰一碰快速唤醒应用,跳过传统的扫码打开方式。但是发现如果要对NFC标签写入数据的话,似乎需要企业认证,这对普通开发者并不友好。好在有小熊派Nano数字管家这样的案例,让我找到了另外一条简单的办法,就是利用小熊派Nano板子充当NFC标签。小熊派Nano板子显然是经过了企业认证,同时也有前辈开发了数字管家应用。本文将分享如何通过小熊派Nano,进行NFC碰一碰拉起任何应用。

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

我们需要准备以下内容:

  • 小熊派Nano
  • 72*72,160*160像素的应用logo
  • 搭载鸿蒙系统,支持NFC的手机

1.1 小熊派Nano烧录

1.2 获取productID

1.2.1 在应用市场下载应用调测助手

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

1.2.2 进入NFC页,点击选择

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

1.2.3 申请productID

点击申请即可申请得到productID,每个账号一次性可申请3个ID,并且每个ID都有一个使用期限,过期了才能再申请。
如图,这里有两个已经过期了的ID号,还有3个是现在申请的,我们记住他,在后文的NFC配置中需要用到申请得到的ID号,这里每个账号的可能不同。

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

2. 配置NFC

  • 进入华为开发者联盟官网,进入HarmonyOS服务平台。传送门
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

2.1 创建服务

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 选择HarmonyOS测试服务
    补全信息,信息全部可以自定义,补充完毕后,点击创建。
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

2.2 填写服务信息

这里的信息基本上也是全部根据个人需求进行自定义。

  • 基本信息
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 服务呈现信息
    这里的logo是必填的,在之前我们已经准备好了两种大小的LOGO。
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
    点击保存

2.3 填写配置信息

  • 添加HarmonyOS标签
    点击添加,标签名称自拟,产品型号填写我们之前申请到的productID,产品子型号填00即可,点击保存。
    这里可以添加多个productID,在后面写入数据流的时候,注意对应即可。
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 补充FA信息

这里以唤醒分布式音乐播放器案例为例,具体资源在我的博客可以找到。
个性化分布式音乐播放器

  • 选择支持的设备
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 填写包名
    注意,这里填写的包名需要与唤醒应用的包名一致,这是唯一的关键因素!
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
    包名,服务名(MainAbility)分别对应config.json文件中的"bundleName"和"mainAbility"
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
    模块名对应config.json文件中 “moduleName”
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

其余信息自拟,点击保存

2.4 设置为测试态

  • 点击测试
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 添加测试设备,通过手机号绑定
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
  • 输入测试手机手机号即可
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

3.1 写入标签数据

  • 打开应用调测助手,选择productID,这里选择在前文NFC配置页面设置的productID,如果申请的productID均已配置,那么随便选一个就好。
  • 1246128c7b60ad1ed0286680f19206Lamp01308123456784011512teamX-Lamp01

关于这里的自定义数据的结构组成可以参考数字管家案例(传送门),但这条数据是可以通用的,所以直接用即可。

  • 点击置入缓存区
    开启手机NFC,与小熊派Nano板子碰一碰,写入数据。
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
    #夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

3.2 碰一碰唤起应用

#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区
#夏日挑战赛#【FFH】NFC碰一碰拉起任何应用,无需企业认证!-开源基础软件社区

在一些场景里面,我们希望通过NFC碰一碰快速拉起应用,目前通过NFC标签实现的话需要企业认证。但是我们暂时可以借助小熊派Nano代替,NFC服务配置过程中,大部分信息自拟即可,关键在于包名,模块名,MainAbility名,productID信息不能出错,要一一对应。每次修改包名,唤醒不同应用的时候,都要将服务重新发布为测试态。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK