在不配置 Amazon Cognito 的情况下使用 Amazon Mobile Analytics

Using Amazon Mobile Analytics without configuring Amazon Cognito

与竞争分析服务相比,Amazon Mobile Analytics 似乎需要更多的配置和集成步骤。

例如,在 Flurry Analytics 中,设置非常简单:

[Flurry startSession:@"<app-id>"];
[Flurry logEvent:@"<event-name>"];
// Optionally, set the userID
[Flurry setUserID:@"userid"];

我希望 Amazon Mobile Analytics 中的等效项对于未经身份验证的用户来说是这样的:

[AWSLogger defaultLogger].logLevel = AWSLogLevelVerbose;
AWSMobileAnalytics* analytics = [AWSMobileAnalytics mobileAnalyticsForAppId:@"<app-id>"];
id<AWSMobileAnalyticsEventClient> eventClient = analytics.eventClient;
id<AWSMobileAnalyticsEvent> event = [eventClient createEventWithEventType:@"ScreenView"];
[eventClient recordEvent:event];

但是,在 运行 该代码并将应用程序置于后台以上传和发送事件之后,没有给出任何错误或其他日志消息。

Amazon 的快速入门指南和本教程 (http://www.nickyap.info/mobile-analytics/) 将引导您完成配置 Amazon Cognito 的额外步骤,即使是为了跟踪未经身份验证的用户。这反过来又需要额外的 AWS 权限来创建用户角色等,而我的 AWS 账户没有。

有没有人试过在不先配置 Cognito 的情况下使用 Amazon Mobile Analytics?还是这是绝对要求?

Amazon Mobile Analytics 客户端在提交数据时需要 Cognito 来促进身份验证和授权。这用于提高从移动客户端提交数据的安全性,以确保有效凭据正在为特定应用程序发送数据。如果不使用 Cognito,数据提交调用将因权限无效而失败。