-
Notifications
You must be signed in to change notification settings - Fork 13
Description
سلام بازی من با گیم انجین گادات ساخته شده و برای ارتباط با تپسل با توجه به پروژه نمونه سایت یک ماژول ساختم که بتونم از اون به عنوان پلاگین در گادات استفاده کنم
package balloonPop.Persian;
import org.godotengine.godot.Godot;
import org.godotengine.godot.plugin.GodotPlugin;
import org.godotengine.godot.plugin.UsedByGodot;
import org.godotengine.godot.plugin.SignalInfo;
import android.app.Activity;
import android.util.Log;
import androidx.annotation.NonNull;
import java.util.Set;
import java.util.HashSet;
import ir.tapsell.plus.AdRequestCallback;
import ir.tapsell.plus.AdShowListener;
import ir.tapsell.plus.TapsellPlus;
import ir.tapsell.plus.model.TapsellPlusAdModel;
import ir.tapsell.plus.model.TapsellPlusErrorModel;
import ir.tapsell.plus.TapsellPlusInitListener; // اضافه شده
import ir.tapsell.plus.model.AdNetworks;
import ir.tapsell.plus.model.AdNetworkError;
public class TapsellPlugin extends GodotPlugin {
private static final String TAG = "TapsellPlugin";
private Activity activity;
private String responseId = "";
public TapsellPlugin(Godot godot) {
super(godot);
activity = getGodot().getActivity();
}
@NonNull
@Override
public String getPluginName() {
return "TapsellPlugin";
}
@Override
public Set<SignalInfo> getPluginSignals() {
Set<SignalInfo> signals = new HashSet<>();
signals.add(new SignalInfo("initialization_success", String.class));
signals.add(new SignalInfo("initialization_failed", String.class, String.class));
signals.add(new SignalInfo("ad_loaded"));
signals.add(new SignalInfo("ad_load_failed", String.class));
signals.add(new SignalInfo("ad_opened"));
signals.add(new SignalInfo("ad_closed"));
signals.add(new SignalInfo("ad_rewarded"));
signals.add(new SignalInfo("ad_show_failed", String.class));
return signals;
}
@UsedByGodot
public void initialize(String tapsellKey) {
tapsellKey="alsoatsrtrotpqacegkehkaiieckldhrgsbspqtgqnbrrfccrtbdomgjtahflchkqtqosa";
Log.d(TAG, "Initializing Tapsell...");
if (activity == null) {
Log.e(TAG, "🔥 Activity is null - cannot initialize");
emitSignal("initialization_failed", "UNKNOWN", "Activity is null");
return;
}else {
Log.d(TAG, "activity is not null"+tapsellKey);
}
TapsellPlus.initialize(activity, tapsellKey, new TapsellPlusInitListener() {
@Override
public void onInitializeSuccess(AdNetworks adNetworks) {
Log.d(TAG, "✅ Tapsell Initialized Successfully");
emitSignal("initialization_success", "Tapsell");
}
@Override
public void onInitializeFailed(AdNetworks adNetwork, AdNetworkError error) {
Log.e(TAG, "❌ Initialization Failed: " + error.getErrorMessage());
emitSignal("initialization_failed", adNetwork.toString(), error.getErrorMessage());
}
});
}
@UsedByGodot
public void requestAd() {
String ZONE_ID ="5cfaa802e8d17f0001ffb28e";
Log.d(TAG, "Requesting Rewarded Ad...");
if (activity == null) {
emitSignal("ad_load_failed", "Activity is null");
return;
}
TapsellPlus.requestRewardedVideoAd(
activity,
ZONE_ID,
new AdRequestCallback() {
@Override
public void response(TapsellPlusAdModel adModel) {
responseId = adModel.getResponseId();
Log.d(TAG, "✅ Ad Loaded - Response ID: " + responseId);
emitSignal("ad_loaded");
showAd();
}
@Override
public void error(@NonNull String message) {
Log.e(TAG, "❌ Ad Request Failed: " + message);
emitSignal("ad_load_failed", message);
}
}
);
}
@UsedByGodot
public void showAd() {
Log.d(TAG, "Attempting to show ad...");
if (activity == null || responseId.isEmpty()) {
emitSignal("ad_show_failed", "No ad is loaded or activity is null");
return;
}
TapsellPlus.showRewardedVideoAd(
activity,
responseId,
new AdShowListener() {
@Override
public void onOpened(TapsellPlusAdModel adModel) {
Log.d(TAG, "🎬 Ad Opened");
emitSignal("ad_opened");
}
@Override
public void onClosed(TapsellPlusAdModel adModel) {
Log.d(TAG, "❎ Ad Closed");
emitSignal("ad_closed");
}
@Override
public void onRewarded(TapsellPlusAdModel adModel) {
Log.d(TAG, "🎉 Ad Rewarded");
emitSignal("ad_rewarded");
}
@Override
public void onError(TapsellPlusErrorModel errorModel) {
Log.e(TAG, "❌ Show Ad Failed: " + errorModel.toString());
emitSignal("ad_show_failed", errorModel.toString());
}
}
);
}
}
این کلاس تپسل من هست و مشکلی که دارم اینه کهinitialize نمیشه
ارتباط از طریق گادات به درستی برقرار میشه و روی گوشی تست کردم
Log.d(TAG, "activity is not null"+tapsellKey);
این لاگ رو میبینم ولی این از این تابع
TapsellPlus.initialize(activity, tapsellKey, new TapsellPlusInitListener() {
لاگی نمیبینم
ممنونم میشم راهنمایی کنید