Интегрируйте Applovin в приложение Cocos2d-x для iOS
Я хочу интегрировать Applovin SDK в мое приложение Cocos2d-x для iOS, но делегат не работает.
[ALInterstitialAd shared].adDisplayDelegate = self; << Error: Use of undeclared identifier 'self'
[ALInterstitialAd showOver:[[UIApplication sharedApplication] keyWindow]];
ИЛИ ЖЕ
objClass *obj1 = [objClass alloc];
[ALInterstitialAd shared].adDisplayDelegate = obj1; << Error: assigning 'id<ALAdDisplayDelegate>' from incompatibile type "objClass *"
ИЛИ ЖЕ
init: objClass* obj1 = [[objClass alloc] init];
[ALInterstitialAd shared].adDisplayDelegate = obj1; << Error: assigning 'id<ALAdDisplayDelegate>' from incompatibile type "objClass *"
Как это исправить? Я хочу захватить эти события слушателя.
2 ответа
Я только что решил эту проблему, но я работаю с чистым Object-C в Xcode. Я получал сообщение об ошибке, пока не добавил методы делегата: ALAdDisplayDelegate, ALAdLoadDelegate, ALAdUpdateObserver, ALAdVideoPlaybackDelegate
.час
#import "ALInterstitialAd.h"
@interface VSGalleryViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegate, ALAdDisplayDelegate, ALAdLoadDelegate, ALAdUpdateObserver, ALAdVideoPlaybackDelegate>
Надеюсь, поможет
Если этот код находится в классе Objective C, но в методе класса (обозначается с +
) тогда сам тоже будет недоступен. Используйте код в методе экземпляра (обозначается лидирующей -
) вместо
В С ++ кода нет self
ключевое слово. Вместо этого используйте this
указатель. Хотя в этом случае это, вероятно, не будет работать, поскольку API находится в Objective-C - поэтому делегат, вероятно, должен быть объектом Objective-C (id
).
Если вы пишете код на C++, вам необходимо создать класс-оболочку Objective-C, который реализует протокол (если таковой имеется), необходимый для работы adDisplayDelegate.