如何在我们的应用

时间:2017-10-25 07:31:15

标签: android ios

在我提出问题之前,我先解释一些背景信息。

我们公司正在开发适用于iOS和Android的应用程序。我们的客户可以决定使用我们的应用程序(品牌)或将我们的功能集成到他们的应用程序中由于我们的应用程序具有一些复杂的算法和通信协议。出于这个原因,我们希望为希望集成而不是使用我们的应用程序的客户提供一种SDK。

当我们使用BLE,NFC和GPS时,我们决定将自己的应用本机化。问题是我们的许多客户已经拥有一个应用程序,在大多数情况下它将是一个混合应用程序。所以"只是"为所有平台制作SDK几乎是不可能的,不仅要构建,还要维护更多。

要记住的另一个重要事项是,我们希望避免我们的客户需要了解我们的完整沟通过程,甚至更强大我们不会将我们的算法或通信协议提供给其他人,因为这是使我们的应用程序/此时此产品独一无二。

所以现在具体的问题。是否可以将我们的功能作为一种API提供,以便其他应用程序可以像使用某种API一样使用我们的应用程序的功能?这意味着我们的应用程序也需要安装在最终用户智能手机上,但他们不需要单独使用它。我们的想法是,我们客户的应用程序与我们的应用程序通信,如API,我们的应用程序与我们的硬件进行通信,并将结果返回给我们客户的应用程序。请注意,应用的用户不应该在前台看到我们的应用。 (我有一些游戏需要"玩游戏")

我知道有一种方法可以在应用程序之间交换数据(应用程序间通信),但这也可以像API一样使用吗?

2 个答案:

答案 0 :(得分:1)

显然这个答案仅与Android有关。 (您可能想为IOS单独提问)

最基本的是,Content Provider用于交换数据。但是,没有什么能阻止在提供程序主机中运行代码来提取该数据。

例如,您可以在应用程序中托管内容提供程序,在使用特定参数调用时,执行许多复杂功能并返回一个简单的数据表(MatrixCursor),甚至只返回一个简单的True / False响应光标。

您可以通过创建一个Android库来进一步简化这种用法,客户可以将其导入到自己的项目中,使其更加友好和API,方法是向库中添加方法和功能,然后将其调用委托给内容提供商甚至是主应用中的广播接收器,然后可以用自己的广播进行响应。

你甚至可以利用隐形活动。即在您的应用中调用没有用户界面的活动。

更可取的做法是将您的可调用代码创建为客户可以使用的自包含库,从而无需完全与单独的应用程序通信。

答案 1 :(得分:0)

根据我的理解,您需要其他应用来调用特定功能,例如调用Web API或打开活动并编写内容或打开弹出对话框并执行某些操作。

在android中:是的,BroadcastReciever可以实现。你只需要听取特定的action并执行功能。

所以任务是,你只需要提供action