রিচ মিডিয়ার অ্যাপিয়ারেন্স কাস্টমাইজ করা
সংক্ষিপ্ত বিবরণ
Anchor link toরিচ মিডিয়া পেজগুলির অ্যাপিয়ারেন্স কাস্টমাইজ করে সেগুলিকে আপনার অ্যাপের স্টাইলের সাথে পুরোপুরি মানানসই করে তুলুন। আপনার ইন-অ্যাপ মেসেজের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করুন, কিছু অ্যানিমেশন যোগ করুন, অথবা লোডিং ভিউকে অ্যাপ লেআউটের সাথে সামঞ্জস্যপূর্ণ করুন। ইন-অ্যাপগুলিকে অ্যাপের একটি নেটিভ কম্পোনেন্টের মতো দেখিয়ে ব্যবহারকারীর অভিজ্ঞতা উন্নত করুন।
ইমপ্লিমেন্টেশন
Anchor link toপ্রথমে, RichMediaStyle ক্লাসের একটি ইনস্ট্যান্স নিন:
PWRichMediaStyle *style = [PWRichMediaManager sharedManager].richMediaStyle;Android
Anchor link toRichMediaStyle style = RichMediaManager.getRichMediaStyle();ব্যাকগ্রাউন্ডের রঙ
Anchor link toঅ্যাপের ব্যবহারকারীদের দেখানো রিচ মিডিয়া পেজগুলির ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করে ইন-অ্যাপ মেসেজগুলিকে আপনার অ্যাপের একটি অবিচ্ছেদ্য অংশ হিসেবে দেখান।

style.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.2f];Android
Anchor link tostyle.setBackgroundColor(ContextCompat.getColor(getApplication(), R.color.black));ব্যাস!
অ্যানিমেশন
Anchor link toরিচ মিডিয়ার অ্যাপিয়ারেন্স অ্যানিমেট করে আপনার ইন-অ্যাপ মেসেজের প্রভাব বাড়ান।
অ্যানিমেশন ডেলিগেটকে ডিফল্ট ক্লাসগুলির মধ্যে একটিতে সেট করুন:
PWRichMediaStyleSlideLeftAnimation,PWRichMediaStyleSlideRightAnimation,PWRichMediaStyleSlideTopAnimation,PWRichMediaStyleSlideBottomAnimation,PWRichMediaStyleCrossFadeAnimation.
style.animationDelegate = [PWRichMediaStyleCrossFadeAnimation new];Android
Anchor link toঅ্যানিমেশন ডেলিগেটকে ডিফল্ট ক্লাসগুলির মধ্যে একটিতে সেট করুন:
RichMediaAnimationSlideTop,RichMediaAnimationSlideBottom,RichMediaAnimationSlideRight,RichMediaAnimationSlideLeft,RichMediaAnimationCrossFade.
richMediaStyle.setRichMediaAnimationType(new RichMediaAnimationSlideTop());কাস্টম অ্যানিমেশন সেট করতে, iOS-এর জন্য PWRichMediaStyleAnimationDelegate মেথড অথবা Android-এর জন্য RichMediaAnimation নিম্নরূপভাবে ইমপ্লিমেন্ট করুন:
১. অ্যানিমেশন ডেলিগেট সেট করুন:
style.animationDelegate = self;২. PWRichMediaStyleAnimationDelegate মেথডগুলি ইমপ্লিমেন্ট করুন (একটি কমপ্লিশন ব্লক কল করতে ভুলবেন না):
- (void)runPresentingAnimationWithContentView:(UIView *)contentView parentView:(UIView *)parentView completion:(dispatch_block_t)completion { contentView.transform = CGAffineTransformMakeTranslation(0, parentView.bounds.size.height);
[UIView animateWithDuration:0.6 delay:0 usingSpringWithDamping:0.4 initialSpringVelocity:0 options:0 animations:^{ contentView.transform = CGAffineTransformIdentity; } completion:^(BOOL finished) { completion(); }];}
- (void)runDismissingAnimationWithContentView:(UIView *)contentView parentView:(UIView *)parentView completion:(dispatch_block_t)completion { [UIView animateWithDuration:0.3 animations:^{ contentView.alpha = 0.0f; contentView.transform = CGAffineTransformMakeScale(2, 2); } completion:^(BOOL finished) { completion(); }];}Android
Anchor link toRichMediaAnimation ইন্টারফেস ইমপ্লিমেন্ট করুন এবং কাস্টম রিচ মিডিয়া ক্লোজ এবং ওপেন অ্যানিমেশনের জন্য এটি সেট করুন:
richMediaStyle.setRichMediaAnimation(new RichMediaAnimation() { //কাস্টম রিচ মিডিয়া ওপেন অ্যানিমেশনের জন্য নিয়ম এবং আচরণ সেট করার অনুমতি দেয় @Override public void openAnimation(View contentView, View parentView) { AnimationSet fadeInAnimation = new AnimationSet(true); fadeInAnimation.addAnimation(new TranslateAnimation(0.15f * parentView.getWidth(), 0, parentView.getHeight() / 2.5f, 0)); fadeInAnimation.addAnimation(new AlphaAnimation(0, 1)); fadeInAnimation.addAnimation(new ScaleAnimation(0.7f, 1.0f, 0.7f, 1.0f)); fadeInAnimation.setDuration(2000); fadeInAnimation.setInterpolator(new DecelerateInterpolator(1f));
contentView.startAnimation(fadeInAnimation); }
//কাস্টম রিচ মিডিয়া ক্লোজ অ্যানিমেশনের জন্য নিয়ম এবং আচরণ সেট করার অনুমতি দেয় @Override public void closeAnimation(View contentView, View parentView, Animation.AnimationListener endAnimationListener) { // !গুরুত্বপূর্ণ! // Pushwoosh SDK-কে অ্যানিমেশন শেষ হওয়ার ইভেন্টটি হ্যান্ডেল করতে দেওয়ার জন্য আপনার কাস্টম অ্যানিমেশনে endAnimationListener যোগ করতে হবে AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); alphaAnimation.setDuration(2000); alphaAnimation.setAnimationListener(endAnimationListener); alphaAnimation.setFillEnabled(true); alphaAnimation.setFillAfter(true);
contentView.animate().translationY(parentView.getHeight() / 5).setDuration(250).start();
parentView.startAnimation(alphaAnimation); }});কাস্টম লোডিং ভিউ
Anchor link toআপনার ইন-অ্যাপ মেসেজের কাস্টমাইজড লোডিং ভিউ দিয়ে প্রথম সেকেন্ড থেকেই ব্যবহারকারীর মনোযোগ আকর্ষণ করুন।
১. loadingViewBlock নিম্নরূপভাবে ব্যবহার করুন:
style.loadingViewBlock = ^PWLoadingView *{ return [[[NSBundle mainBundle] loadNibNamed:@"LoadingView" owner:self options:nil] lastObject];};২. এখানে “LoadingView” অবশ্যই PWLoadingView (PWRichMediaStyle.h-এ সংজ্ঞায়িত) থেকে ইনহেরিট করতে হবে:

৩. আউটলেট সেট করুন:

Android
Anchor link toRichMediaStyle.LoadingViewCreatorInterface একটি মেথড ইমপ্লিমেন্ট করে যা রিচ মিডিয়ার জন্য লোডিং স্ক্রিন হিসেবে ব্যবহার করার জন্য একটি ভিউ রিটার্ন করে:
richMediaStyle.setLoadingViewCreator(() -> { View screenView = createYourScreenView(); return screenView;});ক্লোজ বাটন সক্রিয়করণে বিলম্ব
Anchor link toরিচ মিডিয়া লোড না হওয়া পর্যন্ত ক্লোজ বাটন নিষ্ক্রিয় করে নিশ্চিত করুন যে ইন-অ্যাপ মেসেজটি ব্যবহারকারীদের দেখানো হয়েছে।
style.closeButtonPresentingDelay = 3;Android
Anchor link to// মিলিসেকেন্ডে একটি মান সেট করুনrichMediaStyle.setTimeOutBackButtonEnable(3000);