UrbanAirship无法接受争论

时间:2014-06-04 15:04:59

标签: android urbanairship.com

使用Android Urban Airship 4.0.2

显示Logcat Action com.urbanairship.actions.tags.AddTagsAction@4292b848 is unable to accept arguments: ActionArguments situation: MANUAL_INVOCATION value: ["value1","value2"]

当我尝试发送城市飞艇需要的标签值的JSON数组时

他们的标记文档说ActionArguments可以使用字符串或JSON字符串数组。

我的代码:

ActionArguments args = new ActionArguments(Situation.MANUAL_INVOCATION, mAdd); ActionRunner.shared().runAction("add_tags_action", args);

其中mAdd是jsonArray。我还传递了mAdd作为mAdd.toString(),这是json数组的字符串表示。这会发布标签,但只作为一个长标签,在UrbanAirship上它注册了一个字符串,没有在那里完成解析。

洞察力表示赞赏。真正的问题是它无法接受参数"

1 个答案:

答案 0 :(得分:0)

我刚刚碰到了同样的事情。我发现,与其他标签相关的功能,他们一直在使用Set数据结构而不是他们记录的JSON数组。

无论如何,这是货物:

Set<String> set = new HashSet<>();
            set.add( String.format( "sdk_%s", Build.VERSION.SDK_INT ) );
            set.add( String.format( "release_%s", Build.VERSION.RELEASE ) );
            set.add( String.format( "model_%s", Build.MODEL ) );
            set.add( String.format( "manufacturer_%s", Build.MANUFACTURER.replace( " ", "_" ) ) );
            set.add( String.format( "language_%s", context.getResources().getConfiguration().locale.getISO3Language() ) );
            set.add( String.format( "country_%s", context.getResources().getConfiguration().locale.getISO3Country() ) );
            ActionRunner.shared().runAction( "add_tags_action", new ActionArguments( Situation.MANUAL_INVOCATION, set ) );