Skip to content

Instantly share code, notes, and snippets.

@yuya
Created August 21, 2014 08:30
Show Gist options
  • Save yuya/8497370df8380b1a1f6a to your computer and use it in GitHub Desktop.
Save yuya/8497370df8380b1a1f6a to your computer and use it in GitHub Desktop.
GoogleConversionTrackingBridge.java
/*
* GoogleConversionTrackingBridge.java
* Copyright (C) 2014 Yuya Hashimoto
*/
package im.yuya.unitygoogleconversiontrackingplugin;
import com.unity3d.player.UnityPlayer;
import android.app.Activity;
import java.util.Map;
import java.util.HashMap;
import com.google.ads.conversiontracking.AdWordsConversionReporter;
import com.google.ads.conversiontracking.AdWordsRemarketingReporter;
public class GoogleConversionTrackingBridge {
public GoogleConversionTrackingBridge() {}
private static Map<String, Object> queryStringToHashMap(String queryString) {
Map<String, Object> ret = new HashMap<String, Object>();
String[] pairs = queryString.split("&");
for (String pair: pairs) {
String[] elements = pair.split("=");
String key = elements[0];
Object value = (Object)elements[1];
ret.put(key, value);
}
return ret;
}
public void conversionWithID(final String id, final String label, final String value, final boolean repeatable) {
final Activity activity = UnityPlayer.currentActivity;
activity.runOnUiThread(new Runnable() {
public void run() {
AdWordsConversionReporter.reportWithConversionId(activity, id, label, value, repeatable);
}
});
}
public void remarketingWithID(final String id, final String queryString) {
final Activity activity = UnityPlayer.currentActivity;
final Map<String, Object> hashMap = queryStringToHashMap(queryString);
activity.runOnUiThread(new Runnable() {
public void run() {
AdWordsRemarketingReporter.reportWithConversionId(activity, id, hashMap);
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment