跳到主要内容

极光切公有云之鑫联盟厂商通道消息

· 阅读需 5 分钟
Quany
软件工程师

厂商

[x] 小米 [x] 华为 [x] vivo [ ] oppo [ ] 荣耀 [ ] 苹果

expo

  • 开发

    • snack:在线编辑代码,支持react-native,所见即所得
    • 组件:UI, 导航,视频,摄像头等
    • 热更新,推送通知;
  • 发布

    • 构建:eas build
    • 上架:eas publish
    • 配置:eas build:configure

[ ] 构建一个在 GitHub 上持续集成的 expo 项目,上架到各大应用商店


设计一个智能门铃 App 需要考虑多种功能和用户体验,以满足用户的需求。以下是一个全面的设计方案,包括主要功能、用户界面设计和技术实现建议。

1. 主要功能

1.1 基本功能

  • Wi-Fi 连接:通过 Wi-Fi 将智能门铃与手机 App 连接,确保实时数据传输。
  • 来电通知:当访客按响门铃时,App 会推送通知,显示访客的实时画面。
  • 双向通话:支持用户与访客进行语音或视频通话,类似于电话的交流方式。

1.2 安全监控

  • 全天候监控:在门铃的视角范围内检测到活动时,自动启动录像并推送报警信息。
  • 人脸识别:识别来访者并记录,可以对不同的人进行备注(如快递员、陌生人等)。
  • 移动侦测:设置灵敏度,监测到可疑活动时发送警报。

1.3 用户交互

  • 可视对讲:用户可以通过 App 与访客进行视频通话,无需开门。
  • 在线设置:用户可以通过 App 调整铃声、音量、报警设置等。
  • 历史记录:查看过去的来访记录和录像,便于追踪和回放。

1.4 其他功能

  • 家庭共享:允许家庭成员共同使用 App,提供不同的权限管理。
  • 紧急呼叫:在紧急情况下,可以通过门铃直接拨打预设的紧急联系人电话。
  • 语音助手集成:支持与智能家居系统(如 Alexa 或 Google Assistant)集成,方便语音控制。

2. 用户界面设计

2.1 主界面

  • 显示实时视频流和门铃状态(在线/离线)。
  • 提供快速访问历史记录、设置和报警信息的按钮。

2.2 通知界面

  • 显示所有来访者的通知,包括时间、日期和视频快照。
  • 提供快速回复选项,如“我不在家”或“请稍等”。

2.3 设置界面

  • 用户可以调整各种设置(如铃声、报警灵敏度、通知方式等)。
  • 提供帮助和反馈选项,以便用户能够轻松获取支持。

3. 技术实现建议

3.1 开发框架

  • 使用 React Native 或 Flutter 开发跨平台应用,以便同时支持 iOS 和 Android。

3.2 后端服务

  • 使用 Node.js 或 Python Flask 搭建后端服务,处理设备连接、数据存储和用户管理。

3.3 数据存储

  • 使用 MongoDB 或 Firebase Firestore 存储用户数据、录像和来访记录。

3.4 视频流处理

  • 集成 WebRTC 或 RTSP 协议,实现实时视频通话和监控功能。

3.5 安全性

  • 确保数据传输使用 HTTPS 加密,并对用户信息进行加密存储以保护隐私。

总结

设计一个智能门铃 App 不仅要关注基本功能,还需考虑安全性和用户体验。通过集成多种实用功能,如双向通话、移动侦测和人脸识别等,可以大大提升产品的价值。同时,良好的用户界面设计将使得操作更加直观,从而吸引更多用户使用该应用。

微信公众号

微信公众号

极光切公有云之鑫联盟

· 阅读需 1 分钟
Quany
软件工程师

Android 原生对接

已整合

跨平台解决方案 React native

  • 工程之文件监听:watchman, fsevents,
  • Metro 是 React Native 官方提供的 JavaScript 模块打包器
  • 原生: ios POD,ruby 环境支撑,Android build gradle 脚本;

微信公众号

微信公众号

极光切公有云之鑫联盟

· 阅读需 1 分钟
Quany
软件工程师

Android 原生对接

已整合

跨平台解决方案 React native

  • 工程之文件监听:watchman, fsevents,
  • Metro 是 React Native 官方提供的 JavaScript 模块打包器
  • 原生: ios POD,ruby 环境支撑,Android build gradle 脚本;

微信公众号

微信公众号

极光切公有云之鑫联盟

· 阅读需 2 分钟
Quany
软件工程师

Android 原生对接

  1. 熟悉极光公有云 SDK API;
  2. 设计桥接方法;
    • 初始化: appKey,环境设定;
    • 获取注册 ID;
    • 监听消息推送;
    • 设置别名;

以下是 react-native-code-push 9.0.0 版本相对于上一版本(8.3.1)的主要更新内容:

9.0.0 版本的主要变化

  • 隐私清单功能:新增了隐私清单功能,由贡献者 DordeDimitrijev 提供,增强了对隐私法规的遵守和用户透明度。

  • 演示代码推送应用脚本修复:修复了创建演示 CodePush 应用程序的脚本,提高了开发者测试该功能的可用性。

  • 命名空间定义迁移:命名空间定义已迁移到 build.gradle 文件中,这可能有助于简化配置过程。

  • ZipArchive 版本更新:ZipArchive 的版本提升至 2.5.5,有可能解决早期版本中的错误或安全漏洞。

  • 破坏性变更:最低支持的 iOS 和 tvOS 版本提高至 15.5,这可能会影响与旧设备和操作系统的兼容性。

这些更新旨在提升 CodePush 服务的功能和安全性,使其在 React Native 移动应用开发中更加稳健。

微信公众号

微信公众号

极光切公有云之鑫联盟Android

· 阅读需 2 分钟
Quany
软件工程师

极光切公有云接入鑫联盟出现的问题

运行环境:

  • "react-native": "0.59.10",
  • "jcore-react-native": "2.2.3",
  • "jpush-react-native": "3.1.2",

Android 环境

构建时出现的问题

  1. 不支持namespace;

报错信息:

危险

Build file '/Volumes/Samsung/sxf/rn/uxlm-app/node_modules/jpush-react-native/android/build.gradle' line: 10

A problem occurred evaluating project ':jpush-react-native'.

Could not find method namespace() for arguments [cn.jiguang.plugins.push] on extension 'android' of type com.android.build.gradle.LibraryExtension.

  • Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':jpush-react-native'.

处理办法:注释掉

运行 App 时出现的问题

  1. packageName 获取不到;
危险

Caused by: java.lang.RuntimeException: Cannot read packageName from /Volumes/Samsung/sxf/rn/uxlm-app/node_modules/jpush-react-native/android/src/main/AndroidManifest.xml

定义package="com.suixingpay.tssapp",会报如下错误:

危险

Type com.suixingpay.tssapp.BuildConfig is defined multiple times: /Volumes/Samsung/sxf/rn/uxlm-app/android/app/build/intermediates/mixed_scope_dex_archive/devDebug/out/com/suixingpay/tssapp/BuildConfig.dex, /Volumes/Samsung/sxf/rn/uxlm-app/android/app/build/intermediates/mixed_scope_dex_archive/devDebug/out/94014fa2f8dbb5fffcb8d061b5a179ca085642193f39b3ca55a3ec960366a279_1.jar:classes.dex**

  1. js调用报错:
危险

TypeError: _jpushReactNative.default.init is not a function

  1. JCore 错误
危险

2024-11-29 18:00:06.100 9230-22686 JIGUANG-JCore com.suixingpay.tssapp E [CheckManifestHelper] [key-step]errorcode:10001,metadata: JCore appKey - not defined in manifest

微信公众号

极光切公有云之结赢伙伴iOS通信

· 阅读需 1 分钟
Quany
软件工程师
  • javascript 准备

*** 单独代理使用

/Volumes/Samsung/Home/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server=127.0.0.1:7897 https://www.perplexity.ai

*** 通知消息,iOS,需要选择开发环境

*** gradle oss 优化,解决下载难题

或者放在前端一台服务器上

  • distributionUrl

微信公众号

极光切公有云之结赢伙伴问题修复

· 阅读需 7 分钟
Quany
软件工程师
  • javascript 准备
  • ios 联调准备好

一些感悟

每个人都会创造知识和积累出经验,没有渠道展示,变成收入

用 AI 来处理创造的知识,积累出的经验,并输出展示,变成收入;

perplexity 搜索

Trigger.dev 是一个开源平台,旨在为应用程序创建和管理长期运行的后台任务,特别是那些使用 JavaScript 和 TypeScript 构建的应用。它使开发人员能够在不受传统无服务器环境限制(如超时)的情况下运行任务,非常适合需要大量处理或 API 交互的应用。

Trigger.dev 的主要特点

**** 长期运行的任务

  • 无超时限制:与许多无服务器平台施加严格执行限制不同,Trigger.dev 允许任务无限期运行,这对于复杂操作至关重要。

  • 指数退避重试:系统会自动以逐渐增加的延迟重试失败的任务,从而提高可靠性。

**** 可扩展性和管理

  • 无需管理基础设施:开发人员可以专注于编写代码,而无需担心服务器管理。Trigger.dev 自动处理部署和扩展。

  • 按需付费定价:用户仅为任务执行期间消耗的资源付费,使其具有成本效益。

**** 可观察性和调试

  • 全面可观察性:用户可以通过详细日志和跟踪视图监控任务执行情况,包括高级过滤选项以快速识别问题。

  • 自定义警报:可以通过电子邮件、Slack 或 Webhook 设置任务失败或其他重要事件的通知。

如何开始使用 Trigger.dev

要开始使用 Trigger.dev,请按照以下步骤操作:

  1. 创建账户:在 Trigger.dev 网站上注册以访问该平台。

  2. 初始化项目:使用 CLI 工具在本地环境中设置新项目。命令 npx trigger.dev@latest init 将初始化项目结构。

  3. 编写任务:使用提供的 SDK 在代码库中定义任务。例如:

    import { task } from "@trigger.dev/sdk/v3";

    export const helloWorld = task({
    id: "hello-world",
    run: async (payload) => {
    console.log(payload.message);
    },
    });
  4. 部署任务:编写完任务后,使用命令 npx trigger.dev@latest deploy 部署它们。该命令将代码上传到 Trigger.dev 云或您自托管的实例。

  5. 监控和调试:利用仪表板监控任务运行情况,并排查出现的任何问题。

使用场景

Trigger.dev 特别适合需要以下功能的应用:

  • API 集成:无缝集成各种 API,而不必担心超时问题。

  • 定时作业:设置类似 cron 的作业,在指定时间间隔内执行。

  • 事件驱动工作流:根据来自外部系统(例如 Webhook)的事件执行任务。

社区与资源

Trigger.dev 拥有一个活跃的社区,开发人员可以分享项目、寻求帮助并为平台做出贡献。文档提供了关于编写任务、部署以及与其他服务集成的广泛指南。此外,GitHub 上还提供了示例项目,以帮助您快速入门。

总之,Trigger.dev 为现代 web 应用程序中的后台作业管理提供了强大的解决方案,特别适合希望利用 Node.js 环境而不受传统无服务器架构限制的开发人员。

Featurebase

Featurebase 是一个多功能平台,主要用于收集、组织和分析用户反馈,以帮助产品团队做出更好的产品决策。它为快速增长的初创公司提供了一个集中的工具,旨在简化反馈收集和特性管理过程。

主要功能

  • 反馈收集:Featurebase 允许用户创建互动反馈门户或在其应用中嵌入小部件,从而轻松捕获用户反馈。

  • 特性优先级与规划:通过分析用户需求,帮助团队明确下一步要构建的功能。

  • 发布更新:通过持续的更新和变更日志,提升新功能的认知度,确保用户了解最新的产品改进。

  • AI 辅助功能:利用人工智能检测重复反馈,自动合并相似请求,简化管理流程。

  • 集成现有工具:Featurebase 可以与 Intercom、Linear、Slack 等工具无缝集成,以便在一个地方组织用户反馈及其上下文。

使用场景

Featurebase 特别适合以下情况:

  • 产品开发:帮助产品经理和开发团队有效管理产品特性生命周期,从构思到维护、版本控制和退役。

  • 用户社区建设:为用户提供一个反馈社区,让他们能够提出建议并对功能请求进行投票。

  • 数据驱动决策:通过实时分析用户反馈,支持数据驱动的产品决策。

总结

Featurebase 是一个强大的工具,适合希望提高用户参与度并优化产品开发流程的团队。它提供了简单直观的界面,使得收集和管理反馈变得轻松高效。

微信公众号