开发者社区> 问答> 正文

关于Android设备动态注册的疑问

批量生产设备的情况下需要用到设备动态注册,但未见到官方文档提供Android SDK的动态注册接口。

倒是有个Android SDK静态注册的示例和C-SDK的动态注册示例

官方能否提供下Android SDK版本的动态注册接口。

展开
收起
smart_green 2018-05-01 11:35:22 2920 0
4 条回答
写回答
取消 提交回答
  • 阿里云IoT物联网场景实践案例分享 https://www.yuque.com/cloud-dev/aliyun-in-action/zclrsc?#
    动态注册只是多了一步https请求换取三元组过程

    productKey = productKeyView.getText().toString();
            productSecret = productSecretView.getText().toString();
            deviceName = deviceNameView.getText().toString();
            try {
                String url = "https://iot-auth.cn-shanghai.aliyuncs.com/auth/register/device";

                String random = String.valueOf(System.currentTimeMillis());
                String signMethod = "hmacsha1";
                HashMap<String, String> params = new HashMap<>();
                params.put("productKey", productKey);
                params.put("deviceName", deviceName);
                params.put("random", random);
                //签名
                String sign = AliyunIoTSignUtil.sign(params, productSecret, signMethod);
                //post的form参数
                String form = "productKey=" + productKey + "&deviceName=" + deviceName + "&random=" + random + "&sign=" + sign + "&signMethod=" + signMethod;
                Log.d(TAG, "formbody " + form);
                RequestBody body = RequestBody.create(MediaType.parse("application/x-www-form-urlencoded"), form);
                final Request request = new Request.Builder()
                        .url(url)
                        .post(body)
                        .build();

                final OkHttpClient client = new OkHttpClient();
                Response response = client.newCall(request).execute();
                responseBody = response.body().string();
                Log.d(TAG, "response body " + responseBody);
                JSONObject json = new JSONObject(responseBody);
                deviceSecret = json.getJSONObject("data").getString("deviceSecret");


            } catch (Exception e) {
                e.printStackTrace();
            }
    2018-06-08 19:47:29
    赞同 展开评论 打赏
  • Re关于Android设备动态注册的疑问
    解决了吗?官方确实这块文档不建全哪
    2018-05-11 14:54:15
    赞同 展开评论 打赏
  • 使用静态注册也不错吧
    2018-05-06 09:32:42
    赞同 展开评论 打赏
  • Re关于Android设备动态注册的疑问
    现在我试图自己实现获取DeviceSecret的过程,用POST方法得到{"code":6288,"message":"device register fail for switch is off"}

    看起来是动态注册没有打开,但是实际上我在控制台打开了对应的动态注册开关。

    2018-05-01 17:39:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载