Skip to content

مشکل اتصال با godot از طریق پلاگین اندروید #105

@nargesgholamie

Description

@nargesgholamie

سلام بازی من با گیم انجین گادات ساخته شده و برای ارتباط با تپسل با توجه به پروژه نمونه سایت یک ماژول ساختم که بتونم از اون به عنوان پلاگین در گادات استفاده کنم
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() {
لاگی نمیبینم
ممنونم میشم راهنمایی کنید

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions