0
sharing view and open graph storiesを使用してFacebookに広告を掲載する必要があるアプリケーションを作成しています。 それは時間や距離などの基本的な情報だけで罰金ポストが、何らかの理由で私はもちろん、この例のように、地図上に表示することができません。ShareOpenGraphObjectを使用してFacebookに地図を投稿
これは私が持っているコードです。ポストを作成する:this bug reportに記載されているように
for (int i = 0; i < dataPoints.size(); i++) {
DataPoint dataPoint = dataPoints.get(i);
ShareOpenGraphObject.Builder metric = new ShareOpenGraphObject.Builder();
metric.putDouble("fitness:metrics:location:latitude", dataPoint.latitude);
metric.putDouble("fitness:metrics:location:longitude", dataPoint.longitude);
metric.putDouble("fitness:metrics:location:altitude", dataPoint.altitude);
locations.add(metric.build());
}
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("fb:app_id", parent.getString(R.string.facebook_app_id))
.putString("og:type", "fitness.course")
.putString("og:title", "Workout on " + date)
.putString("og:url", BASE_URL + getApp().getUserName() + "/activity/" + summary.Id)
.putInt("fitness:duration:value", summary.TijdInSecondes)
.putString("fitness:duration:units", "s")
.putDouble("fitness:distance:value", samenvatting.AfstandInMeters/1000f)
.putString("fitness:distance:units", "km")
.putInt("fitness:speed:value", samenvatting.AfstandInMeters/samenvatting.TimeInSeconds)
.putString("fitness:speed:units", "m/s")
.putInt("fitness:calories", samenvatting.Kcal)
.putObjectArrayList("fitness:metrics:location", locations)
.build();
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("fitness.runs")
.putObject("fitness:course", object)
.build();
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("fitness:course")
.setAction(action)
.build();
Iはまた、配列のインデックスを含むように指標をエンコードすることを試みた:
for (int i = 0; i < dataPoints.size(); i++) {
DataPoint dataPoint = dataPoints.get(i);
ShareOpenGraphObject.Builder metric = new ShareOpenGraphObject.Builder();
metric.putDouble("fitness:metrics[" + i + "]:location:latitude", dataPoint.latitude);
metric.putDouble("fitness:metrics[" + i + "]:location:longitude", dataPoint.longitude);
metric.putDouble("fitness:metrics[" + i + "]:location:altitude", dataPoint.altitude);
locations.add(metric.build());
}
しかしそれでも解決しませんでした。私は何が欠けていますか?
@CBroeありがとうございましたが、私はそれを理解しました。彼らのドキュメンテーションでは、まったく不明瞭です。 – Michiel