小编Jac*_*1re的帖子

用于动态链接事件的Firebase转换缺少广告系列归因

在应用程序和Firebase Google Analytics中使用了Firebase服务我有几个动态的深层链接,这些深层链接以编程方式在我的应用程序内部构建。(这些链接始终都可用于通知或新闻通讯)

当用户打开另一个用户收到的动态链接时,其中一个dynamic_link_*事件将触发并发送到分析。

我使用将utm参数添加到链接中DynamicLink.GoogleAnalyticsParameters.Builder并将dynamic_link_*事件标记为转换。我的utm参数是自定义参数,我没有用于它们的网络。

即:来源:my_application,媒介:share,活动:xyActivity

不幸的是,转换事件详细信息中既未设置广告系列,也未设置来源或媒体。

虽然,但我在StreamView中看到utm参数附加到了该事件

文档说,这将自动收集。但是不会,或者我做错了什么。

我认为这可能与事实有关,我的utm参数与任何网络都不相关。但是我找不到任何在转换详细信息的“网络设置”标签中添加自定义选项的选项。

先感谢您!


请查看下面的评论!转换总览花了将近1 1/2个月的时间!

在此处输入图片说明

firebase firebase-analytics firebase-dynamic-links firebase-console

5
推荐指数
0
解决办法
299
查看次数

Google Play服务:创建自定义等候室UI

我即将使用Google Play游戏服务为我的Android应用程序实现实时多人游戏,并且听到房间更新时遇到了一些问题.我没有经验,所以请原谅可能的理解问题.

我的意图是,如果有人加入我最近创建的房间,或者自己创建了另一个房间,并且我的房间与我的房间相同,我需要知情.

我试图在RoomStatusUpdateListener上听,但在我创建了一个房间后,这个监听器永远不会被调用,我想知道为什么.被调用的是RoomUpdateListener,但它不包含我需要的回调方法.

我知道建议在等候室ui中使用android build并使用Games.RealTimeMultiplayer.getWaitingRoomIntent()来启动activityForResult,但我需要创建类似我自己的等候室并且不知道如何.显然谷歌活动(等待)房间确实了解变化,所以必须有一种方法来观察这些.

据我所知,我想尝试做类似的事情:

  1. 创建具有不同变体的多个房间
  2. 在任何房间听取更新(玩家加入或创建同一个房间)
  3. 加入第2步更新的房间.

有没有人知道如何实现这一目标?我会很高兴的.对不起,我的英语不好.

问候,史蒂夫.

android multiplayer google-play-services google-play-games

3
推荐指数
1
解决办法
1589
查看次数

Android Studio:上一个 Activity 的后退按钮

Activity用a 创建了Navigation Drawer,并用 a 替换了选项图标(位于右上角)以ImageButton处理后退单击。

问题是,我不知道该怎么做。我对如何使用后退按钮有点困惑。我应该使用什么代码才能转到上一个Activity

后退按钮用于:Activity 到另一个 Activity 以及 MainActivity 到 Fragment 活动。

这是我的清单代码:

   <activity
        android:name="com.teamamazing.with_sidebar.activity.Accomodation"
        android:label="Accomodation"
        android:parentActivityName="com.teamamazing.with_sidebar.activity.SpecialPage">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.teamamazing.with_sidebar.activity.SpecialPage" />
    </activity>
Run Code Online (Sandbox Code Playgroud)

这是我的住宿活动:

package com.teamamazing.with_sidebar.activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.teamamazing.with_sidebar.R;


public class Accomodation extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_accomodation);
  } }
Run Code Online (Sandbox Code Playgroud)

这是我的SpecialPage 代码:它将成为父活动。

package com.teamamazing.with_sidebar.activity;


import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import com.teamamazing.with_sidebar.R;


public class SpecialPage …
Run Code Online (Sandbox Code Playgroud)

android android-intent activity-lifecycle android-fragments android-activity

3
推荐指数
1
解决办法
3万
查看次数

java中年和月元组的好的hashCode是什么

在 Java 中,假设我有一个很长的年和月对列表。像 2018:03 有很多重复。

Month will always be starting with 1.
Year will always be > Month, starting with 2010
if Month or Year == 0 [not_set], hashcode can return 0 (fine), I ignore them
Run Code Online (Sandbox Code Playgroud)

我想遍历这个列表并为每个条目从这两个值创建一个散列,以确定我是否已经有一个特定的组合。

通常我会为这样的条目创建一个对象,有两个 int 成员并覆盖 equals 和 hashcode,将它们全部添加到一个 Set 中。

我应该如何实现 hashCode?

据我记得从有效的Java,我会写这样的东西:

@Override
public int hashCode() {
    int hash = year;
    hash = 31 * hash + month;
    return hash;
}
Run Code Online (Sandbox Code Playgroud)

但我认为,因为月份总是小于年份,在这种情况下我擅长:

@Override
public int hashCode() {
    return year * month;
}
Run Code Online (Sandbox Code Playgroud)

直到4020年,应该不会发生任何碰撞。

有没有更有效的方法来实现我的目标,你能想到吗?还是已经太晚了,我的头要崩溃了?

java equals hashcode

2
推荐指数
1
解决办法
925
查看次数