我想知道Google云端功能是否是以下方面的良好解决方案:
对于我们的应用,我们希望使用Google跟踪代码管理器,就像我们为我们的网站所做的那样。 事情是:在网站GTM上,我们可以使用javascript轻松实现自定义标签。 在一个不可能的应用程序中,可以调用已在应用程序内编译的函数。 但是这给灵活性带来了很多问题,例如:如果许多用户已经使用了应用程序,如果我们想要向第三方实施新的自定义标记,我们需要部署新版本。
我在考虑使用Google Cloud Functions作为答案,通过使用Javascript,我们可以在不重新部署的情况下实现新标记(以api调用的形式)。
问题是:如何在不重新部署的情况下调用此类函数?这是否适合这样做。
答案 0 :(得分:1)
不幸的是,如果没有提前计划,这是不可能的,它可能会导致高LOE,而不仅仅是添加标签并发布新版本的应用程序。
您需要设置自己的应用,以便能够检测云功能返回的新标记,因为您尝试添加标记而不会发布新版本的应用。
然后,您需要想出一种方法将该标记与应用内的特定视图或位置绑定。此外,您需要在正确的位置使用正确的代码,以确保正确使用标记。
云存储和JavaScript实例可能会提供解决方案: 我将使用iOS作为示例,您可以使用JavaScriptCore.framework在应用程序中实现此动态功能。您可以在云存储中存储新的JavaScript函数。然后,您可以使用云功能从云存储中获取这些功能,也可以直接从SDK或URL访问云存储;你甚至不需要云功能来执行这项任务。
然后,您将在应用程序中评估这些脚本:
JSContext *context = [JSContext new];
NSString *jsFunctionText =
@"var isValidNumber = function(phone) {"
" var myTag = 'new custom tag';"
" /* use JS Tag Manager SDK to deliver tag information."
"}";
[context evaluateScript:jsFunctionText];
这只能解决部分问题,因为您需要能够将上下文添加到应该从中拉出和调用函数的位置。因此,您需要预测未来的需求,并可能过度设计解决方案。
我知道这不是一个可靠的答案,但这不是一个简单的问题需要解决。